PDA

Visualizza la versione completa : [C] File modalitÓ di aprtura


{-_-}
12-01-2008, 14:14
ho un paio di domande sui file che i libri non mi hanno risolto completamente

ho visto degli esempi che aprono il file in modalitÓ "rt" ,ma ha lo stesso significato di "r" ?

non ho trovato sui ilbri questo tipo di apertura.

inoltre posso scivere un file in binario e aprirlo conme text e viceversa?

grazie

Samuele_70
12-01-2008, 15:19
Originariamente inviato da {-_-}
...
ho visto degli esempi che aprono il file in modalitÓ "rt" ,ma ha lo stesso significato di "r" ?
non ho trovato sui ilbri questo tipo di apertura.
...

Se intendi il secondo parametro del fopen()

FILE *fopen(const char *filename, const char *mode);

Il parametro "t" (text mode) Ŕ la modalitÓ predefinita, e quindi spesso viene omessa.



...
inoltre posso scivere un file in binario e aprirlo conme text e viceversa?

grazie
Puoi usare comunque la modalitÓ binaria, sia per scrivere che leggere il file.
Ma, ovviamente, se effettui letture di tipo 'text', il file dovrÓ contenere solo dati di tipo 'testo'.

oregon
12-01-2008, 15:20
La t sta per text.

Tu puoi aprire un file come vuoi ... quello che cambia e' l'interpretazione che le funzioni che lo leggono fanno dei caratteri trovati al suo interno.

{-_-}
12-01-2008, 16:41
strano che nessuno dei miei libri mi citi la 't' la daranno per scontata.

per quanto riguarda la mia seconda domanda, il problema Ŕ che se leggo un file di testo aprendolo in modalitÓ binaria mi considera due caratteri e non uno.
non ci sono altre differenze fra modalitÓ testo e binaria?

grazie

MItaly
12-01-2008, 17:02
per quanto riguarda la mia seconda domanda, il problema Ŕ che se leggo un file di testo aprendolo in modalitÓ binaria mi considera due caratteri e non uno.
Se leggi un file in modalitÓ binaria ottieni gli esatti byte che si trovano nel file. Se invece leggi il file in modalitÓ testo alcune sequenze di carattere possono essere modificate; il caso pi¨ frequente Ŕ la sequenza CrLf ("\r\n"), che letta sotto Windows viene tradotta in Lf ("\n").

{-_-}
12-01-2008, 17:04
ok grazie , adessi far˛ qlc programma per capire meglio.

Loading