C 筆記之文字輸入

2021-10-09 14:11:57 字數 1001 閱讀 7004

1、使用cin和迴圈結合進行文字輸入

#include

intmain()

cout << endl << count;

return0;

}

程式通過while迴圈結合cin輸入進行文字的輸入當識別到*號時停止讀取,但缺點是cin會忽略空格和換行符,且只有在按下回車鍵之後內容才會傳送給程式。

以以下程式為例

int n;

cin >> n ;

在使用cin讀取時,若輸入的型別與儲存資料的型別不匹配時,會發生4種錯誤:

1)、n的值保持不變

2)、不匹配的輸入將被保留在輸入佇列中

3)、cin物件的乙個錯誤標誌被設定

4)、對cin方法的呼叫將返回false

如在n處輸入字元c則字元c會留在佇列中且n的值保持不變,同時cin的錯誤標誌將被設定(此時cin無法繼續讀取佇列中的後續內容,可以使用clear()函式重置此錯誤標誌),且cin會返回false,錯誤處理可以使用以下**:

while

(!cin >> n)

cout <<

"please enter a number : "

;}

2、使用cin.get(char)替換上述的cin,函式cin.get()讀取下乙個字元(即使是空格),然後將讀取的內容送到指定的char型變數中,且cin.get(char)傳入引數是引用型(c++獨有),不用傳位址,如下所示

#include

intmain()

cout << endl << count;

return0;

}

同時cin.get(char)和cin.get(char*,arsize),兩者是c++函式過載的結果,c++允許函式過載,即函式名相同但七引數不能完全相同,之後c++編譯器會根據呼叫處所傳入的引數,為其呼叫最合適的,char*是字串的位址。

C 學習筆記之 輸入和輸出

在 c 中,我們通過呼叫輸入輸出流庫中的流物件 cin 和 cout 來實現輸入和輸出。include using namespace std int main 56 enter 5.36 enter a enter 56 5.36 a在用 cin 進行輸入時,我們不用指定具體的資料型別,系統會根據...

學習C 文字的輸入cin

for while do while迴圈語句另外還有if和switch選擇語句。另外重點是cin是如何處理字元輸入的。strcmp word,book 需要包含標頭檔案 當word大於 book 時,結果大於0 str1 str2 str1 str2 str1 str2 直接用關係符來比較,stri...

C 筆記 文字讀寫

c 筆記1 c 筆記 文字讀寫 using system using system.io public class duxie return input matrix public void writeto double arr 儲存txt文字 sw.writeline 清空緩衝區 sw.flush...