Mi scuso per il doppio - topic, ma ho risolto il problema.
Questa è la soluzione (che sembra funzionare)
codice:
int main(int argc, char **argv) {
char *stringa = NULL;
int res, len = 0;
char *temp;
do {
temp = (char *)realloc(stringa, SIZE+len);
if (temp == NULL) {
perror("Errore realloc");
break;
}
else {
stringa = temp;
}
res = read(0, &stringa[len], SIZE);
if(res == -1) {
perror("Errore read");
break;
}
else len = len + res;
}
while (res>0);
Ad ogni modo, data l'inutilità del messaggio, chiedo cortesemente (se ritenuto opportuno) la sua rimozione. Grazie.