【发布时间】:2010-09-04 19:41:26
【问题描述】:
在 Linux 上,我可以在不阻塞进程的情况下读取可用输入:
fcntl(STDIN_FILENO, F_SETFL, fcntl(STDIN_FILENO, F_GETFL, 0) | O_NONBLOCK )
char buf[n];
int r = fread(buf, 1, n, stdin);
if (r == 0){
printf("nothing\n");
}
else {
printf("read: ");
fwrite(buf, 1, r, stdout);
printf("\n");
}
输入源可以是任何东西,例如文件、终端或管道。
如何在 Windows XP 上做到这一点?
谢谢。
【问题讨论】:
标签: c windows input nonblocking