C 程式設計小知識(5)面向行的輸入

2021-10-07 21:40:56 字數 823 閱讀 9769

cin.put() 函式顯示輸出乙個變數和乙個字元

示例:

#include

intmian()

getline() 函式每次讀取一行,它通過換行符來確定結尾,但不儲存換行符。

相反,在儲存字串時,它使用空字元來替換換行符

istream 類有另乙個名為 get() 的成員函式,該函式有幾種變體。

其中一種變體的工作方式與 getline() 類似,它們接受的引數相同,解釋引數的方式也相同,並且都讀取到行尾。

但 get 並不再讀取丟棄換行符,而是將其留在輸入佇列中。

假設連續兩次呼叫 get();

cin.

get(name, size)

;cin.

get(name, size)

;

由於第一次呼叫後,換行符被留在輸入佇列中,因此第二次呼叫時看到的第乙個字元就是換行符。

因此get() 認為已經到達行尾,而沒有發現任何可讀取的內容。如果不借助幫助, get() 將不能跨過此換行符。

cin.

get(name, size)

;cin.

get();

cin.

get(name, size)

;

getline() 使用起來更簡單,但 get() 檢查錯誤更仔細

例如:用get() 將一行讀入陣列中。如何知道停止讀取的原因是由於已經讀取了整行而不是由於陣列已經填滿呢?

檢視下乙個輸入字元,如果是換行符,說明已經讀取了整行;否則,說明該行還有其它輸入。

物件導向的程式設計C 小知識點

1 類是將不同型別的資料和對這些資料的操作封裝在一起的集合體。2 類的型別,也僅僅 是一種資料型別。3 類是物件的抽象,物件是類的例項。4 類中的資料成員的型別可以是任意的。包括整型 浮點型 字元型 陣列 指標和引用。5 在類體中不允許對所定義的資料成員進行初始化。因為類的定義只是在建立乙個型別,而...

面向行的輸入 getline()和get()

getline getline 函式讀取整行,它使用通過回車鍵輸入的換行符來確定輸入結尾。呼叫方法為cin.getline 該函式有兩個引數。第乙個引數是陣列名,第二個引數是要讀取的字元數。例如第二個引數為n,則函式最多讀取n 1個字元,因為至少要保留乙個空間存空字元,即 0 getline 成員函...

C 程式設計 C 面向流的輸入輸出

1,constructor 第一種不繫結檔案,後續用open 繫結。第二種繫結檔案 filename 讀取模式預設引數為 ios base in可以省略。default 1 ifstream initialization 2 explicit ifstream const char filename...