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:

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);   
}
Avete qualche idea? Grazie in anticipo!