当前位置: 技术问答>linux和unix
关于select函数的问题
来源: 互联网 发布时间:2016-06-02
本文导语: 为什么只执行一次读操作,而每隔3S就会执行一次写操作呢? #include #include #include #include #include #include #include #include int main() { int fds[2]; char buf[7]; int i,rc,maxfd; fd_set inset1,inset2; ...
为什么只执行一次读操作,而每隔3S就会执行一次写操作呢?
#include
#include
#include
#include
#include
#include
#include
#include
int main()
{
int fds[2];
char buf[7];
int i,rc,maxfd;
fd_set inset1,inset2;
struct timeval tv;
if((fds[0]=open("readfile.txt",O_RDWR|O_CREAT,0666))0)
{
buf[rc]=0;
printf("read:%sn",buf);
}
那是因为你第一次 read 后,buf[rc] = 0,覆盖了 fds[0] 中部分数据;你可以将数组改为 buf[8] 试试...
#include
#include
#include
#include
#include
#include
#include
#include
int main()
{
int fds[2];
char buf[7];
int i,rc,maxfd;
fd_set inset1,inset2;
struct timeval tv;
if((fds[0]=open("readfile.txt",O_RDWR|O_CREAT,0666))0)
{
buf[rc]=0;
printf("read:%sn",buf);
}
那是因为你第一次 read 后,buf[rc] = 0,覆盖了 fds[0] 中部分数据;你可以将数组改为 buf[8] 试试...