pbe (Normal User)
Pro
Messaggi: 131
Iscritto: 24/05/2014
|
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:
Codice sorgente - presumibilmente C++ |
#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
|
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
Se fai il debug la stringa c'è tutta?
|
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
E poi po consiglio la fprintf per scrivere
|
|
pbe (Normal User)
Pro
Messaggi: 131
Iscritto: 24/05/2014
|
Postato originariamente da TheDarkJuster: Se fai il debug la stringa c'e tutta?
|
Non capisco cosa vuoi dire...
Postato originariamente da TheDarkJuster: E poi po consiglio la fprintf per scrivere
|
Cosa cambia rispetto fputs?
|
|
AldoBaldo (Member)
Guru
Messaggi: 700
Iscritto: 08/01/2015
|
Ho provato a compilare ed eseguire con il debugger il tuo codice e mi sembra che funzioni come dovrebbe.
Non so se ti interessa, ma io l'avrei scritto così:
Edit: ho tolto il codice prima che il moderatore mi strigli a dovere (quando ho postato non avevo ancora visto che TheDarkJuster aveva già dato i suoi suggerimenti). Aggiungo: la stringa c'è tutta solo se inizialmente il file è vuoto.
Ultima modifica effettuata da AldoBaldo il 12/01/2015 alle 17:43
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti. |
|
pbe (Normal User)
Pro
Messaggi: 131
Iscritto: 24/05/2014
|
RISOLTO! Grazie a tutti per l'aiuto. Non tarderò molto a ri-riempirvi di domande.
Alla prossima.
|
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
Si ma se non fai il debug è ovvio che sei qui a fare tante domande. Non che ci dispiaccia, ma perdi tempo ed è frustrante (almeno, per me lo è dover spiegare cosa fa il sorgente, i suoi problemi ecc...)
|
|
pbe (Normal User)
Pro
Messaggi: 131
Iscritto: 24/05/2014
|
Postato originariamente da TheDarkJuster:
Si ma se non fai il debug è ovvio che sei qui a fare tante domande. Non che ci dispiaccia, ma perdi tempo ed è frustrante (almeno, per me lo è dover spiegare cosa fa il sorgente, i suoi problemi ecc...) |
Scusami, è stato errore mio. Avevo fatto un ultima modifica alla fine e non mi ero accorto che funzionava...
Starò più attento. |
|