2

私はASCIIとバイナリPGM画像の両方を扱うプログラムを持っています。次を使用してファイルオープンモードを開きます。

ifstream istr(argv[i]);

PGMファイルのヘッダーを読み取った後、それは私がバイナリデータを扱っているのかASCIIを扱っているのかを決定します。次に、istrをバイナリモードに変更する方法はありますか?

4

3 に答える 3

1

モードを変更するためのメンバー関数std::ifstreamはありません。したがって、ファイルをバイナリモードでclose()再作成する必要があります。open()

于 2012-10-28T05:30:06.950 に答える
0

いいえ、少なくとも移植性はありません。バイナリモードで開き、行末を手動で処理する必要があります。

于 2012-10-28T05:29:56.693 に答える
0

1>最初にメソッドを呼び出してストリームをクリアし、ストリームClearのモードをリセットします(ストリームがにヒットした場合、end-of-fileまたはに遭遇した場合に必要ですerror

2>closeメソッドを呼び出してストリームを閉じる必要があります

3>最後に、openメソッドを呼び出して、目的のファイルモードで新しいファイルを開く必要があります

于 2012-10-28T05:46:35.680 に答える