Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    115

    [C++] Inserire testo da input in array char

    Salve volevo sapere come potevo inserire un testo da input non devinito nella lunghezza in un array char. Grazie!!!!

  2. #2
    Usa le stringhe STL e la funzione getline:
    codice:
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main()
    {
        string tuaStringa;
        getline(cin,tuaStringa);
        //Ora tuaStringa contiene la riga di testo inserita dall'utente.
        return 0;
    }
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    115
    grazie per l'aiuto, ma in realta a me servirebbe una cosa del genere:

    cout<<"inserisci parola:";
    char s[];
    cin >> s;
    questo che ho scritto è totalmente errato...e quindi vorrei sapere come posso correggere!!!
    Grazie!!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se lavori con C++ è piu' semplice utilizzare una

    string

    Perche' devi utilizzare una vettore di char?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    115
    Perchè è un esercizio datomi dal mio docente dell'università, se no figurati se nn lo avrei fatto!!!!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma il programma deve essere scritto in C++ o in C ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    codice:
    #include <iostream>
    #include <cstdlib>
    using namespace std;
    int main(void)
    {
        const int blockSize=16; //allochiamo a blocchi di 16 byte
        char * stringa, * writePtr;
        int strCapacity=blockSize+1;
        stringa = (char *)malloc(strCapacity*sizeof(*stringa));
        writePtr = stringa;
        while(true)
        {
            cin.clear();
            cin.getline(writePtr, blockSize+1);
            if(!cin.fail())
                break;
            writePtr=stringa+strCapacity-1;
            strCapacity+=blockSize;
            stringa=(char *)realloc(stringa,strCapacity*sizeof(*stringa));
        }
        cout<<stringa<<endl;
        return 0;
    }
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    è un lavoro un po macchinoso ma si puo fare..cioè crei un ciclo in cui tiri dentro carattere x carattere i dati che ti servono ed utilizzi un contatore che ti conti i caratteri inseriti..poi alla fine crei una stringa di N celle in base ai caratteri input..

    oppure usi liste dinamiche..xo è ancora piu macchinoso penso..

    mi dispiace ma nn riesco a posta il listato x' nn dispongo di compilatore in qst momento..appena possibile lo posto e vi faccio vedere

  9. #9
    Originariamente inviato da loweherz
    x' nn
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da MItaly
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.