C++ に次のようなものがあるとします。
ofstream myfile;
myfile.open (argv[1]);
if (myfile.is_open()){
for(int n=0;n<=10;n++){
myfile << "index="<<n<<endl;
sleep(1);
}
}else{
cerr << "Unable to open file";
}
myfile.close();
また、書き込み中は、書き込み先のディスクまたはメディアが使用できなくなりますが、close() のために再びオンになるため、その間にデータが失われます。または、USB フラッシュ ドライブに書き込みを行い、書き込み処理中にデバイスが取り外され、再度挿入されたと想像してください。どうすればそれを検出できますか?書き込みをtry {} catch、flags()、rdstate()に入れてみましたが、名前を付けましたが、これまでのところ機能していないようです。