C++11: istream.get() останавливается на EOMC++

Программы на C++. Форум разработчиков
Anonymous
C++11: istream.get() останавливается на EOM

Сообщение Anonymous »

У меня проблема с входными потоками C++ (C++11), в частности с файловыми потоками. После того, как я открою новый поток с этим:

Код: Выделить всё

ifstream stream;
stream.open("C:\somefile.txt");
И когда я пытаюсь прочитать из него, и операция чтения встречает байт EOM (0x19), поток устанавливается на badbit, а это не то, что мне нужно. Я хочу читать до определенного конца файла. Вот как я читаю

Код: Выделить всё

char buffer[8];
stream.read(buffer, 8);
а потом я проверяю вот так:

Код: Выделить всё

if(stream.fail()) return -1;
Как я могу читать из потока, не останавливаясь на EOM-байтах (или равных им)?

Подробнее здесь: https://stackoverflow.com/questions/272 ... ops-on-eom

Вернуться в «C++»