4

每当我在使用 getline() 读取 C++ 中的文件时遇到替代字符http://en.wikipedia.org/wiki/Substitute_character时,它会被解释为 EOF,因此我无法继续阅读以获取整个文件内容。所以我的问题是,我怎样才能跳过替代字符并读取文件的内容,直到“真正的”EOF?

4

1 回答 1

6

以二进制模式而不是文本模式打开文件。如果您正在使用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);
于 2012-10-18T21:21:54.393 回答