write[Unix命令行程式和內建指令]

write[Unix命令行程式和內建指令]

函式名:write,功能是寫到一檔案中。Unix命令行程式和內建命令指的就是包含在Bash工具包中的命令,從字面意思上看就是built in,這主要是考慮到執行效率的問題,內建命令將比外部命令執行的更快,一部分原因是因為外部命令通常都需要fork出一個單獨的進程來執行,另一部分原因是特定的內建命令需要直接訪問shell的核心部分。檔案系統:cat cd chmod chown chgrp cksum cmp cp等。

基本信息

程式例

執行命令中的flase頁面執行命令中的flase頁面
函式名:write
功 能:寫到一檔案中
用 法:intwrite(inthandle,void*buf,intnbyte)
程式例:
#include#include
#include
#include
#include
#include
intmain(void)
{
inthandle;
charstring;
intlength,res;
/*
Createafilenamed"TEST.$$$"inthecurrentdirectoryandwrite
astringtoit.If"TEST.$$$"alreadyexists,itwillbeoverwritten.
*/
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);
return0;
}
structxfcb{
charxfcb_flag;/*Contains0xfftoindicatexfcb*/
charxfcb_resv[5];/*ReservedforDOS*/
charxfcb_attr;/*Searchattribute*/
structfcbxfcb_fcb;/*Thestandardfcb*/
};

命令

writewrite
用途打開一條通信線路以實時地將訊息傳送給系統上的其它用戶。語法要查詢所有訊息並等待一個主機上用戶的應答,並根據句柄來顯示它們,請輸入以下命令:write-q[-nHost]要應答由“實用程式”或“Shell腳本”傳送的“訊息”,或“重新顯示與給定句柄關聯的訊息”,請輸入以下命令:write-hHandle,{ok|cancel|query}[-nHost]要有選擇地在另一個主機或特別的設備上給用戶傳送訊息,請輸入以下命令:write[-r]{[-nHost]User|User@Host}[Line]

描述

write命令使訊息能夠在系統上實時傳送。它提供與另一個登錄用戶類似交談一樣的通信。每個用戶交替地從其它工作站傳送或接收簡短訊息。通過在一個檔案中輸入完整的訊息然後將該檔案作為輸入重定向到write命令就能傳送長訊息。對另一個用戶(由User參數指定),要接收訊息,用戶必須登錄並訊息許可權沒有被拒絕。當一條訊息被發往一個未登錄的用戶時,會顯示訊息用戶未登錄。如果訊息傳送給一個用戶,該用戶通過將mesg命令設定為no而具有拒絕的訊息許可權,則顯示訊息write:許可權拒絕。當發出write命令時,它會立即傳送以下訊息,同時帶有訊息收件人或目標的聲音提醒(ASCIIBEL字元):訊息來自於SenderID在SenderHostname上(ttynn)[日期]...隨著連線成功,write命令傳送兩個ASCIIBEL字元到兩個工作站。蜂鳴聲提醒傳送方訊息可以開始而且它提醒接收用戶有訊息進入

LinuxC

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

相關函式

open,read,fcntl,close,lseek,sync,fsync,fwrite

表頭檔案

#include<unistd.h>

定義函式

ssize_twrite(intfd,constvoid*buf,size_tcount);

函式說明

write()會把指針buf所指的記憶體寫入count個位元組到參數fd所指的檔案內。當然,檔案讀寫位置也會隨之移動。

返回值

如果順利write()會返回實際寫入的位元組數。當有錯誤發生時則返回-1,錯誤代碼存入errno中。

錯誤代碼

EINTR此調用被信號中斷
EAGAIN當使用不可阻斷I/O時(O_NONBLOCK),若無數據可讀取則返回此值。
EBADF參數fd非有效的檔案描述詞,或該檔案已關閉。

相關詞條

相關搜尋

熱門詞條

聯絡我們