每当我使用getline()在C ++中读取文件时遇到替换字符http://en.wikipedia.org/wiki/Substitute_character时,它会被解释为EOF,因此我无法使用我的阅读来获取文件的全部内容。所以我的问题是,如何跳过替换字符并读取文件内容直到“真正的”EOF?
答案 0 :(得分: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);