eof僅僅是一種狀態或者說條件,需要觸發。read呼叫遇到檔案結尾,觸發該條件,結果將返回0。針對eof,對於標準輸入裝置,普通檔案,管道檔案,網路套接字檔案是read如何觸發呢?下面程式將說明:
server.c 是socket套接字服務端,目的為了網路套接字檔案是read如何觸發測試用的。
###########################server.c##############################
#include
#include
#include
int main()
return 0;
}############################test.c############################
#include
#include
#include
#include
#include
#include
#define maxsize 256
#define fname "test"
int main()
測試過程:
1.執行下列命令
#gcc server.c -o server
#gcc test.c -o test
#./server
#./test
輸入ctrl+d鍵
standart input ret:0
regular file ret:0
regular file ret:0
pipe file ret:0
socket file ret1:3
err1: success
#killall server
觸發socket eof
socket file ret2:0
err2: success
2.分析
#man read
return value
on success, the number of bytes read is returned (zero indicates end of file)
可見返回值為:0,已經觸發了eof,具體如何觸發,參見程式.
分析EOF究竟是什麼
eof僅僅是一種狀態或者說條件,需要觸發。read呼叫遇到檔案結尾,觸發該條件,結果將返回0。針對eof,對於標準輸入裝置,普通檔案,管道檔案,網路套接字檔案是read如何觸發呢?下面程式將說明 server.c 是socket套接字服務端,目的為了網路套接字檔案是read如何觸發測試用的。serv...
Bundle 究竟是什麼?
bundle用於場景 在我印象中比較深刻的是,一般用於activity之間傳遞數值,也用於handler傳送訊息,如下 intent intent new intent bundle bundle new bundle bundle.putstring key value intent.putext...
VoIP 技術究竟是什麼?
自從1995年首次面世用來,voip已經成為世界上使用最廣泛的 產品。目前,voip使用者大約是 5百萬,業界觀察家表示,未來兩年,這一數字將增長5倍。將打 通過網際網路傳輸的voip技術也是目前世界上最經濟的 技術之一。儘管存在一些嚴重的侷限性,許多voip服務乙個月的費用才只有20美元。要搞清v...