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

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

4

Решение

Откройте файл в двоичном режиме вместо текстового режима. Если вы используете 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);
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]