首页 > 编程知识 正文

c语言write函数怎么用,fread函数返回值

时间:2023-05-04 19:06:29 阅读:106635 作者:2598

怀特函数

头文件: #include unistd.h

原型: size_twrite(intFD,const void *buf,size_t nbytes );

返回值:如果写入的字节数成功返回,如果发生错误,则返回-1。

返回值通常与nbytes的值相同,否则将指示错误。 write错误的一个常见原因是磁盘已满或超过了特定进程的文件长度限制。

对于普通文件,写入从文件的当前偏移开始。 如果在打开文件时指定了O_APPEND选项,则在每次写入之前,文件的偏移将位于文件的末尾。 成功写入一次后,文件偏移会增加实际写入的字节数。

前提条件是TCP下属的封装接口,write函数使用默认的阻塞状态,向TCP下属的套接字写入数据。

建议使用默认的阻塞方法将write函数的数据写入底层接口。 这样,即使发生中断,写入也不会失败。

如果write在传输了APP应用程序缓冲区中的某些数据后被中断,操作系统将认为该系统调用(写入)失败,并且可以将errno设置为EINTR。 另一种处理方法是确保系统调用成功返回。 返回值是已经写入的数据量的一部分。

以下代码是write写入的一部分。

o{ret=write(FD,buf len_sent,len - len_sent ); l_error=errno; //防止其他操作,修改errno的值,并将debug_msg(writereturn:%d,errno:%d )、len_sent、l_error作为临时变量; if(ret0) { len_sent =ret; }elseif(L_error==eintr ) { continue; } else { return -1; }while(lenlen_sent );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。