Qual è la differenza tra l'apertura di un file con ios :: binari o ios :: out o entrambi?
Domanda
Sto cercando di capire la differenza tra l'apertura di un file, come:
fstream *fileName*("FILE.dat",ios::binary);
o
fstream *fileName*("FILE.dat",ios::out);
o
fstream *fileName*("FILE.dat",ios::binary | ios::out);
Ho trovato che tutte queste forme sono identiche: in tutti i casi, la stessa uscita sul file viene prodotta utilizzando *fileName*<<
o *fileName*.write()
Soluzione
ios::out
apre il file in scrittura.
ios::binary
si assicura i dati vengono letti o scritti senza tradurre caratteri di nuova riga da e per \r\n
al volo. In altre parole, esattamente ciò che si dà il flusso è esattamente quello che c'è scritto.
Altri suggerimenti
L'apertura di un file con ios :: controlli binari come vengono gestiti caratteri di nuova riga. Su Windows, si sono espanse a coppie CRLF. Questo è tutto -. Non ha alcun effetto su come le cose come operatore << lavoro