2013-09-26 95 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

相關問題