慕容森
我想添加一个例子:#include <unistd.h>#include <fcntl.h>#include <stdio.h>int main(int argc, char const *argv[]){ char buf[20]; fcntl(0, F_SETFL, fcntl(0, F_GETFL) | O_NONBLOCK); sleep(4); int numRead = read(0,buf,4); if(numRead > 0){ printf("You said: %s", buf); }}运行该程序时,您有4秒钟的时间向标准输入提供输入。如果未找到输入,它将不会阻塞,只会返回。2个示例执行:Korays-MacBook-Pro:~ koraytugay$ ./a.outfda You said: fdaKorays-MacBook-Pro:~ koraytugay$ ./a.outKorays-MacBook-Pro:~ koraytugay$