Un saluto a tutti
Ho un problema con un programmino di prova che prende da terminale una parola, la stampa a video, poi la salva in un file (memo.txt), infine la legge DAL FILE creato e la stampa di nuovo a video.
La prima stampa funziona; nella seconda invece mi visualizza la stringa letta dal file con alla fine dei caratteri strani, come se leggesse oltre la lunghezza della stringa "letto".
Posto il codice:
Avete qualche idea? Grazie in anticipo!codice:#include <stdio.h> #include <fcntl.h> #include <string.h> int main(){ char parola[100]; char letto[100]; printf("Digitare una parola: "); scanf("%s", parola); printf("Parola digitata: %s\n", parola); printf("Salvo la parola nel file memo.txt...\n"); int fd = open("memo.txt", O_CREAT|O_RDWR, 0666); write(fd, parola, strlen(parola)); //scrive sul file la parola lseek(fd, 0, SEEK_SET); read(fd, letto, strlen(parola)); printf("Parola letta dal file memo.txt: %s", letto); }![]()


Rispondi quotando