Allora questo il modo con cui carico la stringa dal lato client:
int leggi_linea(char *b) {
int i=0;
printf("-> ");
do {
b[i++]=(char)getchar();
} while(i<BL&&b[i-1]!='\n'&&b[i-1]!='\r'&&b[i-1]!=EOF);
b[i] = '\0';
return i;
}
Questa parte di codice è stata scritta dal professore.
Poi con "write(sock, buffer, totale);"(buffer è l'array che passo alla funzione leggi_linea) invio la stringa al server, dove viene memorizzata con "read(fd, string, BL)". Quindi se io una volta avviato il programma dal lato client inserisco -> get filename, string del server dovrebbe contenere "get filename\0". Ora seguendo il tuo suggerimento in nuova[BL] dovrei avere "filename\0".
Dopo di che faccio la fopen esattamente come ho scritto nel primo post su nuova.