write
Unix命令行程序和内建指令
write是Unix/Linux系统中的核心系统调用,定义于unistd.h头文件,函数原型为ssize_t write(int fd, const void *buf, size_t count)。该指令通过文件描述符将用户空间缓冲区数据写入文件、管道或套接字,支持常规文件、管道、套接字等多种I/O对象,返回实际写入字节数,失败时返回-1并设置错误码。内核执行过程包含用户空间请求、权限验证、数据复制及文件偏移更新等步骤,支持O_APPEND追加模式和O_NONBLOCK非阻塞特性。
程序例
函数名: write
功 能: 写到一文件中
用 法: int write(int handle, void *buf, int nbyte);
程序例:
名称 : write
使用权限 : 所有使用者
使用方式 :
说明 : 传讯息给其他使用者
把计 :
user : 预备传讯息的使用者账号
ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息
例子.1 :
传讯息给 Rollaend,此时 Rollaend 只有一个连线 :
接下来就是将讯息打上去,结束请按 ctrl+c
例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2,pts/3 :
接下来就是将讯息打上去,结束请按 ctrl+c
注意 : 若对方设定 mesg n,则此时讯息将无法传给对方
Linux C
write(将数据写入已打开的文件内)
相关函数
表头文件
#include<unistd.h>
定义函数
函数说明
write()会把指针buf所指的内存写入count个字节到参数fd所指的文件内。当然,文件读写位置也会随之移动。
返回值
如果顺利write()会返回实际写入的字节数。当有错误发生时则返回-1,错误代码存入errno中。
错误代码
EINTR 此调用被信号所中断。
EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。
EBADF 参数fd非有效的文件描述词,或该文件已关闭。
最新修订时间:2025-10-06 02:29
目录
概述
程序例
参考资料