Всякий раз, когда я встречаю символ-заменитель http://en.wikipedia.org/wiki/Substitute_character во время чтения файл на С++ с использованием getline(), он интерпретируется как EOF, поэтому я не могу продолжить чтение, чтобы получить все содержимое файла. Итак, мой вопрос: как я могу пропустить замещающие символы и прочитать содержимое файла до «настоящего» 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);
person
Adam Rosenfield
schedule
18.10.2012