write
Unix命令行程序和內建指令
write是一個Unix命令行程序和內建指令,功能是寫到一文件中,用法是int write(int handle, void *buf, int nbyte)。
函數名: write
功 能: 寫到一文件中
用 法: int write(int handle, void *buf, int nbyte);
程序例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include #include #include #include #include #include int main(void) { int handle; char string[40]; int length,res; if((handle=open("TEST.$$$",O_WRONLY|O_CREAT|O_TRUNC, S_IREAD|S_IWRITE))==-1) { printf("Erroropeningfile.\n"); exit(1); } strcpy(string,"Hello,world!\n"); length=strlen(string); if((res=write(handle,string,length))!=length) { printf("Errorwritingtothefile.\n"); exit(1); } printf("Wrote%dbytestothefile.\n",res); close(handle); return 0; } |
1 2 3 4 5 6 | struct xfcb{ char xfcb_flag; char xfcb_resv[5]; char xfcb_attr; struct fcbxfcb_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,則此時訊息將無法傳給對方
write(將數據寫入已打開的文件內)
open,read,fcntl,close,lseek,sync,fsync,fwrite
#include
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非有效的文件描述詞,或該文件已關閉。