Oppure

Loading
14/10/08 16:06
HackerV88
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è?
aaa
14/10/08 16:50
WARRIOR
Usa la funzione gets(stringa);
aaa
14/10/08 18:16
Bond93
Hem quello che dice WARRIOR è giustissimo ma quella funzione è soggetta a buffer overflow ed è sconsigliatissimo usarla io ho risolto così...
#define MAX_BUFFER 500

getstring( char *s ){
int i;
for(i=0;(s[i]=getchar())!='\n'&&i<MAX_BUFFER;i++);
s[i]='Hem quello che dice WARRIOR è giustissimo ma quella funzione è soggetta a buffer overflow ed è sconsigliatissimo usarla io ho risolto così...

#define MAX_BUFFER 500

getstring( char *s ){
int i;
for(i=0;(s[i]=getchar())!='\n'&&i<MAX_BUFFER;i++);
s[i]='{parsed_message}';
return;
}


così sei anche protetto da eventuali BOF...'; return; }


così sei anche protetto da eventuali BOF...
aaa
15/10/08 17:52
WARRIOR
Se non ricordo male esiste anche la funzione getline(), che permette di specificare la lunghezza del buffer. ;)
aaa
15/10/08 18:50
Bond93
Hum questa funzione mi era proprio sfuggita ma è della stdlib ???
aaa