词条 | write |
释义 | 简介函数名: write 功 能: 写到一文件中 用 法: int write(int handle, void *buf, int nbyte); 从buf中提取nbyte个字符写入到参数handle所指的文件 程序例: #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <string.h> #include <fcntl.h> #include <errno.h> int main(void) { int handle; char string[40]; int length, res; /* Create a file named "TEST.$$$" in the current directory and write a string to it. If "TEST.$$$" already exists, it will be overwritten. */ if ((handle = open("TEST.$$$", O_WRONLY | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE)) == -1) { printf("Error opening file.\"); exit(1); } strcpy(string, "Hello, world!\"); length = strlen(string); if ((res = write(handle, string, length)) != length) { printf("Error writing to the file.\"); exit(1); } printf("Wrote %d bytes to the file.\", res); close(handle); return 0; } struct xfcb { char xfcb_flag; /* Contains 0xff to indicate xfcb */ char xfcb_resv[5]; /* Reserved for DOS */ char xfcb_attr; /* Search attribute */ struct fcb xfcb_fcb; /* The standard fcb */ }; 名称 : write 使用权限 : 所有使用者 使用方式 : write user [ttyname] 说明 : 传讯息给其他使用者 把计 : user : 预备传讯息的使用者帐号 ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息 例子.1 : 传讯息给 Rollaend,此时 Rollaend 只有一个连线 : write Rollaend 接下来就是将讯息打上去,结束请按 ctrl+c 例子.2 :传讯息给 Rollaend,Rollaend 的连线有 pts/2,pts/3 : write Rollaend pts/2 接下来就是将讯息打上去,结束请按 ctrl+c 注意 : 若对方设定 mesg n,则此时讯席将无法传给对方 Linux Cwrite(将数据写入已打开的文件内) 相关函数open,read,fcntl,close,lseek,sync,fsync,fwrite 表头文件#include<unistd.h> 定义函数ssize_t write (int fd,const void * buf,size_t count); 函数说明write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。当然,文件读写位置也会随之移动。 返回值如果顺利write()会返回实际写入的字节数。当有错误发生时则返回-1,错误代码存入errno中。 错误代码EINTR 此调用被信号所中断。 EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。 EBADF 参数fd非有效的文件描述词,或该文件已关闭。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。