CreateFile后为何要CloseHandle?

adamwyb adamwyb 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
MSDN中对于CreateFile有这样一句话:
Use the CloseHandle function to close an object handle returned by CreateFile.
就是说CreateFile后需要用CloseHandle关闭返回的handle。于是我做了个小程序进行测试:


int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hFile = CreateFile(".\\1.txt", GENERIC_WRITE, FILE_SHARE_READ,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
CloseHandle(hFile);
return 0;
}


在CloseHandle(hFile);的位置设置了断点,那么程序运行到这个断点的时候,可以在目录中看到1.txt文件了。但是打开后对其进行写操作,并保存,提示“不能创建文件。。。请确认文件名和路径是否正确”。当我执行完CloseHandle后,就可以保存了。
我的问题是,为什么没有CloseHandle就不能对文件进行操作?
...全文
评论 15
收藏 已收藏
分享
返回顶部
adamwyb
VC/MFC 16,550 成员 421,606 内容