std::fstream(std::ios::binary) пропускает <CR> <LF>
От: alexsy Россия  
Дата: 01.12.09 14:06
Оценка:
Открыл плток так

std::ifstream file( f_FileName, std::ios::in | std::ios::binary );

При чтении пропускает символы CR и LF ????
Re: std::fstream(std::ios::binary) пропускает <CR> <LF>
От: igna Россия  
Дата: 01.12.09 14:23
Оценка: 3 (1)
Здравствуйте, alexsy, Вы писали:

A>std::ifstream file( f_FileName, std::ios::in | std::ios::binary );


Указание std::ios::binary означает лишь то, что при чтении не происходит замена CRLF на LF; для того, чтобы читать/писать поток как двоичный, нужно еще использовать unformatted input/output functions, то есть всякие там write и read, а не << и >>.
Re[2]: Дополнение
От: igna Россия  
Дата: 01.12.09 14:25
Оценка:
I>при чтении не происходит замена CRLF на LF

А при записи LF на CRLF.
Re: std::fstream(std::ios::binary) пропускает <CR> <LF>
От: XuMuK Россия  
Дата: 01.12.09 14:25
Оценка: 2 (1)
Здравствуйте, alexsy, Вы писали:

A>Открыл плток так


A>
A>std::ifstream file( f_FileName, std::ios::in | std::ios::binary );
A>

A>При чтении пропускает символы CR и LF ????

если чтение идет через оператор >> или std::getline, то да, т.к. в этом случае входные данные форматируются. используйте std::ifstream::read или std::istreambuf_iterator.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.