如何关闭Windows中的管道句柄? (_pclose() 的 fclose())?
如果我以这种方式在 Windows 中创建管道:
CreatePipe(hRead, hWrite, &sec_atr, NULL)
然后以这种方式从 hRead
生成 FILE *
:
int fd = _open_osfhandle((intptr_t)hRead, _O_RDONLY|_O_TEXT);
FILE *pipe_read = _fdopen(fd, "rt");
那么我应该如何关闭这个文件(pipe_read
)?
fclose(pipe_read)
_pclose(pipe_read)
CloseHandle((HANDLE)_get_osfhandle(fileno(pipe_read)))
If I create pipe in windows this way:
CreatePipe(hRead, hWrite, &sec_atr, NULL)
Then make FILE *
from hRead
this way:
int fd = _open_osfhandle((intptr_t)hRead, _O_RDONLY|_O_TEXT);
FILE *pipe_read = _fdopen(fd, "rt");
Then how should I close this file (pipe_read
)?
fclose(pipe_read)
_pclose(pipe_read)
CloseHandle((HANDLE)_get_osfhandle(fileno(pipe_read)))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在此处的示例中,使用
f关闭
。 fclose 的文档进一步阐明:From the example here, use
fclose
. The documentation for fclose further clarifies with: