c++ on windows 我创建了一个 cmd.exe 的子进程,但是当我读取管道时它卡住了
HANDLE parent = GetStdHandle(STD_OUTPUT_HANDLE);
char buffer[BUFSIZE];
DWORD read, written;
BOOL b = true;
for(;;)
{
b = ReadFile(g_hChildStd_OUT_Rd, buffer, BUFSIZE, &read, NULL);
if(! b || read == 0) break;
b = WriteFile(parent, buffer, read, &written, NULL);
if(! b) break;
}
它在我的控制台中打印 cmd.exe 的输出,但它挂在这个循环中。我只需要弄清楚为什么它不会打破循环