在Linux上,我可以讀取可用的輸入,而不會阻塞過程:如何讀取可用的輸入而不堵在Windows
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上執行此操作?
謝謝。