無効なオープン・ファイル・ハンドルが使用されました。
通常、このエラーは、クローズされたファイルハンドルが使用されたことを示します。一度もオープンされていないファイルハンドルを使用しようとした場合は、無効なファイル・ハンドル・エラーではなく、初期化されていない変数としてレポートされます。ファイルオープン操作に失敗すると null ポインターが返されます。オープン操作に成功したかどうかを確認せずにファイルハンドルを使用しようとした場合は、無効なファイル・ハンドル・エラーではなく、NULL ポインターの逆参照の可能性エラーとしてレポートされます。
ファイルハンドルがクローズされると、そのファイルに関連付けられているリソースが解放されます。クローズされたファイルハンドルを使用すると、解放されたメモリーを参照することになります。 これは、特にストレージが別の用途に再利用されている場合には、予期しない動作を引き起こします。
ID |
問題箇所 |
説明 |
---|---|---|
1 |
無効なリソースの使用 |
無効なファイルハンドルが使用された場所 |
#include <stdio.h> int main(int argc, char **argv) { FILE *fp; int data; fp = fopen("newfile", "w"); if (fp != 0) { fclose(fp); data = fgetc(fp); // bad - file already closed } }
© 2010 Intel Corporation. 無断での引用、転載を禁じます。