write(Unix命令行程式和內建指令)

write(Unix命令行程式和內建指令)

本詞條是多義詞,共4個義項
更多義項 ▼ 收起列表 ▲

write是一個Unix命令行程式和內建指令,功能是寫到一檔案中,用法是int write(int handle, void *buf, int nbyte)。

基本介紹

  • 函式名:write()
  • 功能:寫到檔案中
  • 函式原型:int write()
  • 所在頭檔案:unistd.h
程式例,Linux C,相關函式,表頭檔案,定義函式,函式說明,返回值,錯誤代碼,

程式例

函式名: write
功 能: 寫到一檔案中
用 法: int write(int handle, void *buf, int nbyte);
程式例:
#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 writea string to it.If "TEST.$$$" already exists,it will be over written.*/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;}
struct xfcb{char xfcb_flag;/*Contains0xfftoindicatexfcb*/char xfcb_resv[5];/*ReservedforDOS*/char xfcb_attr;/*Searchattribute*/struct fcbxfcb_fcb;/*Thestandardfcb*/};
名稱 : 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 C

write(將數據寫入已打開的檔案內)

相關函式

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非有效的檔案描述詞,或該檔案已關閉。

相關詞條

熱門詞條

聯絡我們