Próbuję dowiedzieć się różnicę między otwarciem pliku jak:Jaka jest różnica między otwarciem pliku a ios :: binary lub ios :: out lub obu?
fstream *fileName*("FILE.dat",ios::binary);
lub
fstream *fileName*("FILE.dat",ios::out);
lub
fstream *fileName*("FILE.dat",ios::binary | ios::out);
Okazało się, że wszystkie te formy są identyczne: we wszystkich przypadkach ten sam wynik w pliku jest tworzony przy użyciu albo *fileName*<<
lub *fileName*.write()
.
i co to znaczy używać obu? –
Cóż, pisałbyś do pliku bez tłumaczenia żadnych znaków. –
Więc jeśli nie zaznaczam, że ifstream jest binarny, i czytam, powiedzmy 10 podwójnych od niego, a Windows znajdzie losowy "\ n" w danych, to strumień zostanie rozszerzony z '10 * sizeof (double)' to '10 * sizeof (podwójne) + 1' jako' \ r' jest wstawione i nadpisuje koniec mojego podwójnego bufora? – user14717