4

getline() を使用して C++ でファイルを読み取っているときに代替文字http://en.wikipedia.org/wiki/Substitute_characterに遭遇するたびに、EOF として解釈されるため、ファイル全体を取得するために読み取りを進めることができません。コンテンツ。だから私の質問は、どうすれば代替文字をスキップして、「実際の」EOFまでファイルの内容を読むことができますか?

4

1 に答える 1

6

テキスト モードではなく、バイナリ モードでファイルを開きます。を使用している場合は、いずれかのモードでfopen開きます。C++ オブジェクトを使用している場合は、フラグで開きます。"b""rb"ifstreamios::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 に答える