sto facendo un porting di un software in C da HPUX a Linux (premetto che di C conosco poco)
un codice del genere (semplice esempietto da me creato)
char string1[4];
string1[0]='s';
string1[1]='d';
string1[2]='d';
string1[3] = '\0';
char string2[1];
string2[0] = 'a';
printf("\n%s\n", string2);
char string3[2];
string3[0] = 'a';
string3[1] = '\0';
printf("\n%s\n", string3);
sotto LINUX genera
asdd
a
mentre sotto HPUX
a
a
come se sotto Linux, la mancanza del carattere '\0' in string2 "sporcasse" la stessa stringa con il contenuto di string1, cosa che non accade sotto HPUX; quando invece si chiude con '\0' come nel caso di string3, il comportamento è uguale
che mi consigliate?
visto che ho trovato nel codice degli array non chiusi con \0
Grazie