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