大家好,又见面了,我是你们的朋友全栈君。
Ioctl(sockfd, FIONREAD, &npend); /* check FIONREAD support */
检查 sockfd 表示的文件描述符中有多少数据可以读取
example
#include <stdio.h>
#include <unistd.h>
#include <poll.h>
#include <sys/ioctl.h>
int main()
{
struct pollfd poll_fd;
poll_fd.fd=0;
poll_fd.events=POLLIN;
for(;;)
{
// 返回值 ret ; ret < 0 表示错误 ; ret == 0 表示超时 ; ret > 0 表示
int ret=poll(&poll_fd,1,2000);
if(ret<0)
{
perror("poll");
continue;
}
if(ret==0)
{
printf("poll timeout!\n");
continue;
}
if(poll_fd.revents==POLLIN)
{
char buf[1024];
int length;
int res = ioctl(poll_fd.fd,FIONREAD,&length);
printf("length : [%d]\n",length);
read(0,buf,sizeof(buf)-1);
res = ioctl(poll_fd.fd,FIONREAD,&length);
printf("length : [%d]\n",length);
printf("sdin:%s",buf);
}
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163632.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...