Пропустить EOF при чтении файла на С++

Всякий раз, когда я встречаю символ-заменитель http://en.wikipedia.org/wiki/Substitute_character во время чтения файл на С++ с использованием getline(), он интерпретируется как EOF, поэтому я не могу продолжить чтение, чтобы получить все содержимое файла. Итак, мой вопрос: как я могу пропустить замещающие символы и прочитать содержимое файла до «настоящего» EOF?


person David A    schedule 18.10.2012    source источник


Ответы (1)


Откройте файл в двоичном режиме вместо текстового. Если вы используете fopen, откройте его в одном из режимов "b", например "rb". Если вы используете объект C++ ifstream, откройте его с флагом ios::binary.

Например:

// C method
FILE *f = fopen("filename", "rb");

// C++ method
std::ifstream f("filename", std::ios::in | std::ios::binary);
person Adam Rosenfield    schedule 18.10.2012