标题: _get_osfhandle函数
作者: Demon
链接: https://demon.tw/programming/_get_osfhandle.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
_get_osfhandle函数可以获取文件描述符(file descriptor)对应的文件句柄(file handle)。
众所周知,系统中stdin、stdout、stderr的文件描述符分别是0、1、2,所以可以用_get_osfhandle函数来获取它们的句柄。
#include <io.h> #include <tchar.h> #include <windows.h> int main() { LPTSTR s = TEXT("https://demon.tw\n"); HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); HANDLE _hStdOut = (HANDLE) _get_osfhandle(1); if (hStdOut == _hStdOut) { WriteConsole(hStdOut, s, lstrlen(s), NULL, NULL); } return 0; }
可以看到,_get_osfhandle的返回值和GetStdHandle取得的标准输出句柄是一样的。
赞赏微信赞赏支付宝赞赏
随机文章: