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

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

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);
Другие вопросы по тегам