分析EOF究竟是什麼

2021-06-28 10:07:22 字數 1114 閱讀 7106

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...