C中的getline實現

2021-09-30 12:58:14 字數 404 閱讀 9628

在標準c語言中,getline函式是不存在的。

為了能讀入空行,我們需要判斷一下是否讀入的是結尾eof,如果不是就繼續讀取就可以了。

還有一點,eof是什麼?

eof是c語言中為了區分有效資料和輸入結束符的。

c語言採用的解決辦法是:在沒有輸入時getchar函式將返回乙個特殊值,這個特殊值與任何實際字元都不同。這個值成為eof(end of file ,檔案結束)。我們在宣告變數c 的時候,必須讓它大到足以存放getchar函式返回的任何值。之所以不把c宣告成char型別,是因為它必須足夠大,除了能儲存任何可能的字元外還要能儲存檔案結束符eof。

eof的輸入由系統鎖定。windows下是ctrl+z,linux/unix下是ctrl+d。

int getline2_(char s,int lim)

c實現getline函式

getline函式可以獲取檔案中的一行資料。原函式形式為 ssize t getline char linepter,size t n,file stream 返回型別ssize t為有符號整形,其值為獲取的字元數,檔案結束則返回 1,包括換行符 n 但不包括字串結束符 0 linepter用來儲存...

C 中的getline 函式

getline 函式是c 庫函式。它會生成乙個包含一串從輸入流讀入的字元的字串,直到以下情況發生會導致生成的此字串結束。1 到檔案結束,2 遇到函式的定界符,3 輸入達到最大限度。我們一般用string輸入字串時不能讀取空格,我們可以用getline 函式從輸入流中讀取,getline 函式之前的回...

C 中的getline函式

c 中本質上有兩種getline函式,一種在標頭檔案 istream 中,是istream類的成員函式。一種在標頭檔案 string 中,是普通函式。一 在 istream 中的getline函式有兩種過載形式 istream getline char s,streamsize n istream ...