Windows2012R2 VS2013 で以下C言語のコードをコンパイルして実行すると
2回目の _close にて例外が発生します。
_close前にチェックを行いたいのですが、方法が判りません。
1)C言語でC++のように例外をキャッチする方法
2)ファイル記述子が有効か判断する手段
があるか教えてください。
元のプログラムが汚く、ファイル記述子をクローズ後に初期化するといった
回避ができず、ファイル記述子のクローズ時に対応できる方法を探しています。
Linuxの場合には、例外が発生せずに -1 がシステムコール(close)より帰ります。
また、どのコンパイルオプションでも同様に対応できる方法を探しています。
int main( void ){
int fh1;
fh1 = _open( "test.txt", _O_RDONLY );
_close( fh1 ); /* 1回目 /
_close( fh1 ); / 2回目 */
}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/08/10 14:22