PDA

Visualizza la versione completa : [C] Differenza tra fprintf e fwrite


UltraBeginner
09-11-2006, 16:47
Ciao a tutti,

scusate ma perche se acquisisco dati da terminale e scrivo in un file con la printf quando poi apro il file vedo le righe cosi come le ho scritte mentre se scrivo con la fwrite vedo un accozzaglia di caratteri senza senso?

Tra l altro sono in appararenza senza senso perche se leggo il file con la fread (dopo aver scritto con fwrite) e li stampo a schermo ho la visualizzazoine corretta delle righe che avevo immesso da terminale....

Qualcuno sa accendere lumi su questa cosa? Thanks! :confused: :confused: :confused: :confused:

Lak3d
09-11-2006, 17:15
penso che sia dovuto al fatto che fwrite e fread elaborano i dati nel formato raw data, ovvero in byte di dati, in modo che tu poi possa effettuare un accesso casuale al file (in una determinata posizione di memoria) attraverso l'ausilio della fseek

UltraBeginner
09-11-2006, 17:19
Originariamente inviato da Lak3d
penso che sia dovuto al fatto che fwrite e fread elaborano i dati nel formato raw data, ovvero in byte di dati, in modo che tu poi possa effettuare un accesso casuale al file (in una determinata posizione di memoria) attraverso l'ausilio della fseek

Hai troppo ragione, e adesso l ho anche letto nel libro...no comment :rollo: :rollo: :rollo:

Lak3d
09-11-2006, 17:20
diciamo che per spiegartelo con poche parole ma ben dette, ho aperto pure io un manuale :D

andbin
09-11-2006, 17:26
Originariamente inviato da UltraBeginner
scusate ma perche se acquisisco dati da terminale e scrivo in un file con la printf quando poi apro il file vedo le righe cosi come le ho scritte mentre se scrivo con la fwrite vedo un accozzaglia di caratteri senza senso?fprintf (come anche printf, sprintf, vprintf, ecc...) orientata alla scrittura di stringhe di caratteri. fwrite orientata alla scrittura di blocchi di bytes.

Loading