PDA

Visualizza la versione completa : [C++] Errore nella stampa di una stringa da file


Millerna
07-12-2009, 12:21
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:



#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! :ciauz:

Loading