首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++中不小心延续使用了两次close()函数

2012-10-16 
C++中不小心连续使用了两次close()函数比如我fstream iofileiofile.open(...,ios::in|ios::out|ios::bi

C++中不小心连续使用了两次close()函数
比如我fstream iofile;
iofile.open("...",ios::in|ios::out|ios::binary);
iofile.close();
iofile.close();这样用了两次close函数会有影响吗?

[解决办法]
应该没有影响

.close()后会把句柄置零

虽然fclose(0)是不行的,但是fstream会检查句柄是不是0,不是0才调用fclose,所以是安全的
[解决办法]

探讨

那如果我不是用fstream定义的变量而是用ifstream或者ofstream定义的呢?引用:

应该没有影响

.close()后会把句柄置零

虽然fclose(0)是不行的,但是fstream会检查句柄是不是0,不是0才调用fclose,所以是安全的

热点排行