您的位置:首页 > 食品饮料 > 休闲食品 > 关于FIONREAD命令的作用

关于FIONREAD命令的作用

luyued 发布于 2011-02-25 18:27   浏览 N 次  

当在ioctl里使用FIONREAD时,除了获得所指定的读缓存大小以外,还有清除设备准备就绪状态的作用.

代码 1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7
8 int main(int argc, char* argv[])
9 {
10 int debug = 0;
11 char buffer[128];
12 int result, nread;
13 fd_set inputs, testfds;
14 struct timeval timeout;
15 int status;
16 int* ptr =
17
18 FD_ZERO(&inputs);
19 printf("-----------------before SET-----%d-----------\n", *ptr);
20 FD_SET(0, &inputs);
21 printf("-----------------after SET-----%d-----------\n", *ptr);
22
23
24 while(1)
25 {
26
27 timeout.tv_sec = 2;
28 timeout.tv_usec = 500000;
29
30 testfds = inputs;
31 ptr =
32 result = select(FD_SETSIZE, &testfds, (fd_set*)NULL,
33 (fd_set*)NULL, /*&timeout*/0);
34 printf("==========================================\n");
35
36 sleep(4);
37 switch(result)
38 {
39 case 0:
40 printf("timeout \n");
41 debug = FD_ISSET(0, &testfds);
42 printf("t-----------------before SET-----%d----FD_SET--%d-----\n", *ptr, debug );
43 break;
44 case -1:
45 perror("select\n");
46 exit(1);
47 default:
48 if(FD_ISSET(0,
图文资讯
广告赞助商