关于select函数在linux下的问题
51while(1){52//FD_ZERO(&readfds);53//FD_SET(fd,&readfds);54tmout.tv_sec=0;55tmout.tv_...
51 while(1){
52 // FD_ZERO(&readfds);
53 // FD_SET(fd, &readfds);
54 tmout.tv_sec = 0;
55 tmout.tv_usec = 500000;
56 rc = select(1, NULL, NULL, NULL, &tmout);
57 printf("abc\n");//如果有/n就可以执行
58 }
0.5秒打印一次abc
结果
abc
abc
abc
如果程序改下
51 while(1){
52 // FD_ZERO(&readfds);
53 // FD_SET(fd, &readfds);
54 tmout.tv_sec = 0;
55 tmout.tv_usec = 500000;
56 rc = select(1, NULL, NULL, NULL, &tmout);
57 printf("abc");//如果有/n就可以执行
58 }
abc后没有\n就什么都不打印了
为什么啊?
如果是缓冲的话~~有什么办法让他不等到\n就输出呢??
有没有类似flush函数? 展开
52 // FD_ZERO(&readfds);
53 // FD_SET(fd, &readfds);
54 tmout.tv_sec = 0;
55 tmout.tv_usec = 500000;
56 rc = select(1, NULL, NULL, NULL, &tmout);
57 printf("abc\n");//如果有/n就可以执行
58 }
0.5秒打印一次abc
结果
abc
abc
abc
如果程序改下
51 while(1){
52 // FD_ZERO(&readfds);
53 // FD_SET(fd, &readfds);
54 tmout.tv_sec = 0;
55 tmout.tv_usec = 500000;
56 rc = select(1, NULL, NULL, NULL, &tmout);
57 printf("abc");//如果有/n就可以执行
58 }
abc后没有\n就什么都不打印了
为什么啊?
如果是缓冲的话~~有什么办法让他不等到\n就输出呢??
有没有类似flush函数? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询