Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Stringa
Forum - C/C++ - Stringa

Avatar
HackerV88 (Member)
Pro


Messaggi: 88
Iscritto: 29/09/2008

Segnala al moderatore
Postato alle 18:06
Martedė, 14/10/2008
Ciao, come faccio a leggere una stringa di caratteri alfanumerici (spazi compresi) e salvare tutta la stringa in una variabile quando premo invio?
perchč quello che faccio io quando premo invio mi salva tutti i caratteri che trova prima del primo spazio.
Es. "Ciao a tutti" -> mi salva solo "Ciao"
Perchč?

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 18:50
Martedė, 14/10/2008
Usa la funzione gets(stringa);

PM Quote
Avatar
Bond93 (Ex-Member)
Pro


Messaggi: 135
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 20:16
Martedė, 14/10/2008
Hem quello che dice WARRIOR č giustissimo ma quella funzione č soggetta a buffer overflow ed č sconsigliatissimo usarla io ho risolto cosė...
Codice sorgente - presumibilmente C/C++

  1. #define MAX_BUFFER 500
  2.  
  3. getstring( char *s ){
  4. int i;
  5. for(i=0;(s[i]=getchar())!='\n'&&i<MAX_BUFFER;i++);
  6. s[i]='\0';
  7. return;
  8. }



cosė sei anche protetto da eventuali BOF...

PM Quote
Avatar
WARRIOR (Ex-Member)
Guru


Messaggi: 627
Iscritto: 30/03/2007

Segnala al moderatore
Postato alle 19:52
Mercoledė, 15/10/2008
Se non ricordo male esiste anche la funzione getline(), che permette di specificare la lunghezza del buffer. ;)

PM Quote
Avatar
Bond93 (Ex-Member)
Pro


Messaggi: 135
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 20:50
Mercoledė, 15/10/2008
Hum questa funzione mi era proprio sfuggita ma č della stdlib ???

PM Quote