
将数据写入已打开的文件内
2.相关函数
open,read,fcntl,close,lseek,sync,fsync,fwrite
3.表头文件
#include
4.定义函数
ssize_t
write
(int
fd,const
void
*
buf,size_t
count)
5.函数说明
write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。当然,文件读写位置也会随之移动。
6.返回值
如果顺利write()会返回实际写入的字节数。当有错误发生时则返回-1,错误代码存入errno中。
7.错误代码
eintr
此调用被信号所中断。
eagain
当使用不可阻断i/o
时(o_nonblock),若无数据可读取则返回此值。
ebadf
参数fd非有效的文件描述词,或该文件已关闭。
#include <stdio.h>#include <stdlib.h>
int main(int argc, char* argv[])
{
char cmd[200]
if (argc>1)
{
sprintf(cmd,"write %s",argv[1])
system(cmd)
}
else fprintf(stderr,"ERROR!\nusage: write user [tty]\n")
return 0
}
Linux的recv、send函数和read、write函数都可以用于套接字编程。不同的是recv、send只用于套接字通信;而read、write是底层系统调用,只要是文件 *** 作就都可以用, 比如套接字 *** 作,套接字描述符属于是文件描述符的一种,套接字本身在Linux上就叫做套接字文件。所以read、write函数不光可以用于套接字编程,也可以用于读取其他各种文件,比如用于文件编程读写普通文件。这就是它们之间的区别欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)