首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为何read把数据读完了还一直运行

2012-07-30 
为什么read把数据读完了还一直运行?在做socket编程时,我用read读取从server发过来的数据时,调试发现尽管re

为什么read把数据读完了还一直运行?
在做socket编程时,我用read读取从server发过来的数据时,调试发现尽管read把数据读取完了,但是就是不退出read函数。这是什么原因?read一次读入的最大字节数是多少呢?

C/C++ code
bp = buf;bytes_to_read = MAX_BUFF_SIZE;while((n = read(sockfd, bp, bytes_to_read)) > 0)    {        printf("recv:%d\n", strlen(bp));        bp += n;        bytes_to_read -= n;    }


[解决办法]
探讨

如果数据读完了,read不是会返回0或-1吗?这样不是应该退出循环吗

[解决办法]
探讨

如果数据读完了,read不是会返回0或-1吗?这样不是应该退出循环吗

热点排行