Quando ho una stringa di dimensioni sconosciute e creo un array di caratteri per contenere questa stringa.
Faccio qualcosa del genere:
#define LINE_END "\r\n"
int line_end_size = strlen(LINE_END);
char line[]="Hello! world.";
int line_size=strlen(line);
int test_line_size=line_size+line_end_size;
char *test_line = malloc(test_line_size);
strcpy(test_line,line);
strcat(test_line,LINE_END);
printf("test_line = ");
int index;
for (index = 0; index<test_line_size+1; index++) /* plus 1 to see the null */
printf("%02X ", (unsigned char)test_line[index]);
printf("\n");
Dovrei aggiungere 1 alla dimensione di test_line_size
per contenere il carattere NULL?
Questo deve essere compilato per linux32 , win32 , arm32 .