ciao a tutti..
devo leggere un file, e capire se si tratta di un file binario o meno, così da poterlo trattare adeguatamente
Come posso fare?
grazie a tutti
ciao a tutti..
devo leggere un file, e capire se si tratta di un file binario o meno, così da poterlo trattare adeguatamente
Come posso fare?
grazie a tutti
Che vuol dire "se un file è binario"?
No MP tecnici (non rispondo nemmeno!), usa il forum.
ad esempio se è un'immagine, e allora la devo leggere byte per byte, o se è un file testuale, e allora posso leggerlo parola per parola...
Non ha senso ... i file contengono comunque valori binari (che siano lettere o no) che possono essere letti come si vuole (byte per byte o a blocchi).Originariamente inviato da Kilin
ad esempio se è un'immagine, e allora la devo leggere byte per byte, o se è un file testuale, e allora posso leggerlo parola per parola...
Infatti non hai nessun modo per controllare questo fatto se non leggendo il file (neanche l'estensione ti dice nulla).
No MP tecnici (non rispondo nemmeno!), usa il forum.
Il metodo che si usava comunemente una volta per avere qualche indicazione se il file fosse di testo o meno era di leggerlo un byte alla volta e vedere che non contenesse byte NUL (0), ma vista la diffusione dei file di testo in formati multibyte (UTF16/32, UCS2/4) non è più un metodo valido, dato che per i caratteri più comuni un byte ogni due sarà sempre uno zero.
Amaro C++, il gusto pieno dell'undefined behavior.