在下面的程序中,我使用两个不同的函数打印到控制台
#include <windows.h>
int main() {
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD byteswritten;
WriteConsole(h, "WriteConsole", 12, &byteswritten, NULL);
WriteFile(h, "WriteFile", 9, &byteswritten, NULL);
}
Run Code Online (Sandbox Code Playgroud)
如果当我执行这个程序并重定向它的输出使用a > out.txtora 1> out.txt什么都没有打印到控制台(如预期的那样)但内容out.txt只是
WriteFile
Run Code Online (Sandbox Code Playgroud)
允许将调用WriteFile重定向到文件和调用WriteConsole转到...无处的两者之间有什么不同
在 Windows 10 上用 gcc 和 msvc 测试