2013-09-26 63 views
0

我知道在C标准输入文件描述符是0.我将文件描述符0附加到列表并使用select()来检测是否有任何来自控制台的输入。读取标准输入文件描述符0中的值C

它可以成功检测到有输入。但问题是我如何检索价值和如何? (代码忽略错误检查)

fd_set master; 
int console=0; //my stdin file descriptor 
fdmax = console + 1; 
FD_SET(console,&master); 

select(fdmax+1, &read_fds, NULL, NULL, NULL); 

for(i = 0; i <= fdmax; i++) { 
    if (FD_ISSET(i, &master)){ 
     printf("input detected!\n"); 
     dump_line(stdin); //clear the buffer 

     //do w.e here 
    } 
+0

使用read()从fd = 0读取? –

回答

0

使用read从文件描述符0

小心!请勿使用scanf,因为其缓冲可能会干扰select

相关问题