12/01/15 14:04
pbe
Il mio problema è il seguente:
Ho creato un programmino in C il quale, con l'uso dei puntatori, chiede un qualsiasi valore all'utente e aggiunge il testo digitato al file "file.pb" e da anche l'output completo di tutto il contenuto del file.
Fino a qua tutto bene, tutto funzionante, solo che se inserisco qualsiasi valore diviso da uno spazio il programma salva solamente la prima parte del valore.
Per esempio se digito "c iao" mi salva solo "c". Se digito "1 234" mi salva solo "1".
A questo punto dovrebbe essere abbastanza chiaro il problema.
Ecco il codice completo:
Datemi i vostri consigli
Ho creato un programmino in C il quale, con l'uso dei puntatori, chiede un qualsiasi valore all'utente e aggiunge il testo digitato al file "file.pb" e da anche l'output completo di tutto il contenuto del file.
Fino a qua tutto bene, tutto funzionante, solo che se inserisco qualsiasi valore diviso da uno spazio il programma salva solamente la prima parte del valore.
Per esempio se digito "c iao" mi salva solo "c". Se digito "1 234" mi salva solo "1".
A questo punto dovrebbe essere abbastanza chiaro il problema.
Ecco il codice completo:
#include <stdio.h> #include <string.h> main() { FILE *f; char c[255]; char buffer[255]; f = fopen("file.pb", "a+"); if (f==NULL) perror("Error opening file"); else { printf("Inserisci un valore: "); fgets (c,255,stdin); printf("\n... Scrivo il valore ...\n"); fputs (c,f); fseek(f, 0, SEEK_SET); printf("\n...Leggo il valore ...\n\n"); fread(buffer, strlen(c), 254,f); printf("%s\n", buffer); fclose(f); } }
Datemi i vostri consigli
aaa