次のコードスニペットを使用した実験では、ios:binaryモードの有無にかかわらずストリームを作成したかどうかにかかわらず、特に違いは見つかりませんでした。
int main()
{
ifstream ostr("Main.cpp", ios::in | ios::binary | ios::ate);
if (ostr.is_open())
{
int size = ostr.tellg();
char * memBlock = new char[size + 1];
ostr.seekg(0, ios::beg);
ostr.read(memBlock, size);
memBlock[size] = '\0';
ofstream file("trip.cpp", ios::out | ios::binary);
file.write(memBlock, size);
ostr.close();
}
}
ここでは、元のソースファイルを別の名前の別のファイルにコピーしようとしています。
私の質問は、fstreamオブジェクトがios :: binaryモードの有無にかかわらず開かれたときの読み取り/書き込み呼び出し(バイナリファイルIOに関連付けられている)の違いは何ですか?バイナリモードを使用する利点はありますか?ファイルIOを実行するときに使用する場合と使用しない場合