cin深入分析 上 cin輸入操作處理

2021-05-09 19:36:15 字數 1294 閱讀 9609

cin深入分析(上) - cin輸入操作處理

很多初學者都認為cin函式是乙個很簡單的函式,其實不然!cin函式有很多需要了解的知識(比如:cin的返回值是什麼,cin提供了哪些成員函式且分別是什麼作用,如cin.clear(), cin.ignore(), cin.fail(), cin.good()等等),如果沒有很好的掌握,在使用的時候很可能會出問題卻不知其原因!而且很多人也確確實實遇到過不少問題,以下是幾個簡單的例子:

程式1:

#include

using namespace std;

int main()

測試情況:

如果使用者每次都輸入兩個合法的數,程式不會出問題!

但是如果使用者第一次輸入時給乙個非法的輸入,比如說輸入乙個字元'a',你會發現程式不

會再執行第二條輸入語句。似乎有點奇怪!!

程式2:

#include

using namespace std;

int main()

{char str[8];

cin.getline(str, 5);

cout<

using namespace std;

int main()

{char c1, c2;

cin>>c1;

cin>>c2;

cout<

using namespace std;

int main()

{char str1[10], str2[10];

cin>>str1;

cin>>str2;

cout<

using namespace std;

int main()

{char c1, c2;

cin.get(c1);

cin.get(c2);

cout<

using namespace std;

int main ()

{char a[20];

cin.get(a, 10);

cout<

using namespace std;

int main ()

{char ch, a[20];

cin.get(a, 5);

cin>>ch;

cout<

using namespace std;

int main ()

{char ch, a[20];

cin.getline(a, 5);

cin>>ch;

cout<>ch語句沒有執行,是因為cin出錯了!

C 之 cin 與 !cin 的原理分析

在判斷檔案開啟成功與否或是連續從流中讀取資料時,就要用到對流對像的操作,比如if cin 或是 whie cin 等等。while cin val 我們都知道 cin 是乙個流物件,而 運算子返回左邊的流物件,也就是說 cin val 返回 cin,於是 while cin val 就變成了 whi...

IsPostBack深入分析

1 ispostback 介紹 ispostback是 page類有乙個 bool型別的屬性,用來判斷針對當前 form的請求是第一次還是非第一次請求。當 ispostback true時表示非第一次請求,我們稱為 postback,當 ispostback false時表示第一次請求。在 asp....

深入分析ConcurrentHashMap

再多執行緒的情況下,如果使用hashmap,就會導致死迴圈,導致cpu利用率接近100 所以如果是併發的情況不要使用hashmap 導致死迴圈主要是這段 當在多執行緒的情況由於沒有同步導致,著段 在擴容的時候會執行 do while e null 執行緒安全的hashtable 容器 hashtab...