社区
C语言
帖子详情
linux下read返回的问题
seforna
2009-04-20 11:16:45
read调用在正常情况下,返回读取到的字节数,在错误的情况下返回-1,并设置全局的errno。
但是在read调用的过程中如果有信号使得调用中断,除了设置errno==EINTR外,返回值是多少呢??
我得到的返回值是65535呢?read是被SIGALRM中断的。
...全文
970
6
打赏
收藏
linux下read返回的问题
read调用在正常情况下,返回读取到的字节数,在错误的情况下返回-1,并设置全局的errno。 但是在read调用的过程中如果有信号使得调用中断,除了设置errno==EINTR外,返回值是多少呢?? 我得到的返回值是65535呢?read是被SIGALRM中断的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
piginthetree
2009-04-21
打赏
举报
回复
附加说明 如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count 作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中断了读取动作。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期。
seforna
2009-04-21
打赏
举报
回复
谢谢2楼,我用一个unsigned int去接收,宏定义弄乱了,搞定。
morris88
2009-04-20
打赏
举报
回复
我在楼上说的“一定小于0” 不对。
一般来说,它应该返回在中断时已经读取到的数据长度;但是,某些设备不一定按照这个实现的,它会返回一个小于0的整数,指示有错误发生了...
morris88
2009-04-20
打赏
举报
回复
当被中断时,返回值是多少取决于设备的具体实现。
不过,不管是多少,它一定都小于 0...
猫已经找不回了
2009-04-20
打赏
举报
回复
附加说明 如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count 作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中断了读取动作。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期。
。。楼主很强大,人为得可以中断read过程,如果数据不是很大的数量级,read过程很快就结束了。
SIGALRM中断,如果没有错误的话,应该是中断时候的读取大小,你贴测试代码来看看。
brookmill
2009-04-20
打赏
举报
回复
根据手册的说法,这种情况返回值还是-1
65535,如果作为16位整数正好是-1,是巧合吗?
linux
串口
read
几次才能接收完,
linux
下串口读写有关
问题
read
一次读不全
当前位置:我的异常网»
Linux
/Unix»
linux
下串口读写有关
问题
read
一次读不全
linux
下串口读写有关
问题
read
一次读不全www.myexceptions.net网友分享于:2013-03-09浏览:444次
linux
下串口读写
问题
read
一次读不全我要在本机(
linux
)串口上进行读写,一开始时发送接收都正常,但是我用windos下的“串口调试助手”发送给...
linux
中
read
函数读取文件夹内文件,
linux
下
read
函数
read
函数是
Linux
下不带缓存的文件I/O操作函数之一,所谓的不带缓存是指一个函数只调用系统中的一个函数。另外还有open、write、lseek、close,它们虽然不是ANSIC的组成部分,但是POSIX的组成部分。在对
read
的使用过程中,发现对其
返回
值的处理比较重要,这里做一下总结。
read
函数原型:ssize_t
read
(int fd,void *buf,size_t count)...
Linux
socket下
read
函数详解
在socket中服务器与客户端进行通信,当其中一方调用close(即这一方会发送一个fin)关闭套接字之后,另一方
read
()会
返回
一个0。 我之前编写的一个服务器与客户端通信(一个服务器只连接一个客户端):服务器开两个进程,一个用于接收客户端发送的数据,另一个进程用于向客户端发送数据。客户端开两个进程也是一个用于发送数据一个用于接收数据。由于创建了两个进程,那么套接字的引用计数都为2,只有当客户端关闭两次套接字,在服务器的
read
()才会
返回
0。 另外,如果在虚拟机上运行,打开两个shell,一个运行客.
linux
如何拿到文件的
返回
值,
linux
下
read
函数
返回
值分析
原文出处:http://blog.chinaunix.net/space.php?uid=20558494&do=blog&id=2803003
read
函数是
Linux
下不带缓存的文件I/O操作函数之一,所谓的不带缓存是指一个函数只调用系统中的一个函数。另外还有open、write、lseek、close,它们虽然不是ANSIC的组成部分,但是POSIX的组成部分。在对
read
的使...
linux
read
() 函数
read
()函数 2011-03-23 16:28:37| 分类:
linux
| 标签: |字号大中小 订阅
read
函数从打开的设备或文件中读取数据。 #include ssize_t
read
(int fd, void *buf, size_t count);
返回
值:成功
返回
读取的字节数,出错
返回
-1并设置errno,如果在调
C语言
69,373
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章