C++循環(huán)文本輸入-cin、cin.get(char)、cin.fail()

      網(wǎng)友投稿 1983 2022-05-29

      1.最簡單的:

      如果程序要使用循環(huán)來讀取來自鍵盤的文本輸入,并且遇到'#'字符時就停止讀取輸入

      //循環(huán)使用cin

      #include

      int main()

      {

      using namespace std;

      char ch;

      int count = 0;

      cout << "輸入字符串;以# 表示退出: \n";

      cin >> ch;

      while (ch!='#')

      {

      cout << ch;

      ++count;

      cin >> ch;

      }

      cout << endl << count << "字節(jié)\n";

      C++循環(huán)文本輸入-cin、cin.get(char)、cin.fail()

      system("pause");

      return 0;

      }

      輸入:my name is hello#world!

      觀察輸出結(jié)果,發(fā)現(xiàn)確實以‘#’為截止符,但是為什么程序在輸出時省略了空格呢?原因在于cin,讀取char值的時候,與讀取其他基本類型一樣,cin將忽略空格和換行符,所以空格沒被顯示,也沒被計數(shù)。

      2. 使用cin.get(char)進行補救

      //循環(huán)使用cin.get()

      #include

      int main()

      {

      using namespace std;

      char ch;

      int count = 0;

      cout << "輸入字符串;以# 表示退出: \n";

      cin.get(ch); //替換 cin >> ch;

      while (ch != '#')

      {

      cout << ch;

      ++count;

      cin.get(ch); //替換 cin >> ch;

      }

      cout << endl << count << "字節(jié)\n";

      system("pause");

      return 0;

      }

      輸入:my name is hello#world!

      此時,空格也被記錄下來。

      (備注:有的同學(xué)會很好奇,cin.get()似乎能夠有1個參數(shù),也可以2個參數(shù),這到底怎么使用?這個其實是C++重載特性)

      3. 進階:假如'#'本身就有用,那么豈不是這個截止符 還要換?答案是:不必麻煩!有文件尾條件EOF

      使用CTRL+Z ?來模仿結(jié)束

      //循環(huán)使用cin.get() ,截止符EOF默認(rèn)

      #include

      int main()

      {

      using namespace std;

      char ch;

      int count = 0;

      cout << "輸入字符串;以# 表示退出: \n";

      cin.get(ch); //替換 cin >> ch;

      while (cin.fail() == false ) //替換 while(ch != '#')

      {

      cout << ch;

      ++count;

      cin.get(ch); //替換 cin >> ch;

      }

      cout << endl << count << "字節(jié)\n";

      system("pause");

      return 0;

      }

      備注:51字節(jié),其實包含了最后CTRL+Z這一個。

      C++

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:云脈紙質(zhì)文檔管理加速資料電子化與分類管理
      下一篇:華為云企業(yè)級Redis揭秘第12期:2021最新架構(gòu)分享
      相關(guān)文章
      亚洲精品无码乱码成人| 在线91精品亚洲网站精品成人| 亚洲AV无码一区二区三区在线观看 | 亚洲精品高清视频| 久久国产亚洲观看| 国产AV无码专区亚洲AV男同| 亚洲人成无码网站| 最新亚洲成av人免费看| 亚洲熟妇av一区二区三区漫画| 亚洲熟女一区二区三区| 亚洲熟妇丰满多毛XXXX| 亚洲精品无码久久久影院相关影片| 亚洲日韩中文字幕在线播放| 国产亚洲精AA在线观看SEE| 亚洲va中文字幕无码久久不卡| 亚洲日韩激情无码一区| 国产亚洲精品观看91在线| 亚洲av中文无码乱人伦在线咪咕| 水蜜桃亚洲一二三四在线| 亚洲高清中文字幕| 亚洲六月丁香六月婷婷色伊人| 亚洲国产精品久久网午夜| 亚洲香蕉久久一区二区三区四区| 国产精品亚洲片夜色在线| 亚洲天堂2017无码中文| 亚洲成在人线在线播放无码| 爱情岛论坛亚洲品质自拍视频网站| 亚洲AV无码乱码精品国产| 亚洲国产一区视频| 亚洲精品无码永久在线观看你懂的 | 亚洲国产精品美女| 亚洲天堂2017无码中文| 亚洲AV无码AV吞精久久| 亚洲国产精品日韩专区AV| 亚洲中文字幕久久精品无码喷水 | 亚洲成人在线网站| 91亚洲精品自在在线观看| 亚洲熟女综合色一区二区三区| 国产亚洲精品欧洲在线观看| 亚洲色精品vr一区二区三区| 久久久久亚洲AV片无码|