Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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è?


HackerV88
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);


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
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...


420 Sailing!!!
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. ;)


Continuerò a correre, perchè ci sarà sempre qualcuno migliore di me.

Evvia i libri, evitate gli stolti che non li integrano nella loro vita.

http://www.mentisferiche.it

Luca Tedesco
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 ???


420 Sailing!!!
PM Quote