次のようなコードがあります。
int main () {
fstream file;
file.open("test.bin", ios::out | ios::binary);
if(!file.is_open())
{
return -1;
}
int n = 3;
file.write(reinterpret_cast<char*>(&n), sizeof(n));
file.close();
return 0;
}
単体で実行すると-1で終了するので、明らかに「test.bin」のオープンに失敗しています。ただし、空白のメモ帳ファイルを「test.bin」として保存して実行すると、正常に動作します。私が疑問に思っているのは、「test.bin」というファイルがまだ存在しない場合に、C++ プログラムに空のファイル「test.bin」を自動的に生成させる方法です。