Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Scusate ragazzi io ho una domanda da farvi e cioè perchè se io ho due vettori di caratteri da 100 in cui la destinataria non è inizializzata invece il sorgente ha un valore tipo "ciao", perchè il programma si blocca?
Codice sorgente - presumibilmente C/C++
char test[100];
char parola[100] = "ciao";
strcat(test,parola); // qui si blocca il programma!
Io avrei un opinione e vorrei sapere se è corretta:
(penso sia corretta) perchè il vettore ha caratteri sporchi e perciò non puo essere appesa nessuna stringa
Ultima modifica effettuata da bios1993 il 27/09/2010 alle 14:35
Scusate ragazzi io ho una domanda da farvi e cioè perchè se io ho due vettori di caratteri da 100 in cui la destinataria non è inizializzata invece il sorgente ha un valore tipo "ciao", perchè il programma si blocca?
char test[100];
char parola[100] = "ciao";
strcat(test,parola); // qui si blocca il programma!
Io avrei un opinione e vorrei sapere se è corretta:
(penso sia corretta) perchè il vettore ha caratteri sporchi e perciò non puo essere appesa nessuna stringa
esattamente, infatti in questo caso strcat non trova il delimiter "\0" che si usa nelle stringhe per segnarne la fine. Per far funzionare quel codice dovresti fare
Codice sorgente - presumibilmente C/C++
char test[100];
char parola[100] = "ciao";
test[0]='\0';
/* o meglio
strcpy( parola, "ciao" );
memset( test, 0, 100*sizeof(char) );
*/
strcat( test, parola );
Ultima modifica effettuata da lumo il 27/09/2010 alle 14:51