C中read()的用法?

C中read()的用法?,第1张

read()函数的原型是int read(int fd,void *buf,int count)。它的功能是“从文件说明符fd相关联的文件中读取count个字符,并把这些字符存储到buf所指的缓冲区中。返回值是 *** 作成功时所读到的字节数,在文件结束时可能少于count个字节;若返回值为-1则说明出错了,返回0则表示到达文件尾端。例:从文件ABC.txt中读取前100个字节存入数组buffer中——

#include "stdin.h"

#include "io.h"

#include "fcnt1.h"

int main(void){

int fd

char buffer[100]

if((fd=open("ABC.txt",O_RDONLY))==-1){

printf("Can't open file.\n")

exit(-1)

}

if(read(fd,buffer,100)!=100)

printf("Possible read error!\n")

}

如果是文件中的read(),那么,只要执行了这个函数,就会立即返回,不会等待的,不管文件是否为空,它都不会等待!

如果是 socket 中的read(),那么,它会一直阻塞在那里,等待数据的接收,直到有数据来,或者超时才会返回!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11498622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存