C++每次讀取一行字符串輸入(學習筆記) (轉)


1. 面向行的輸入:getline()
getline()函數讀取整行,它使用通過回車鍵輸入的換行符來確定輸入結尾。
cin.getline(Arr, 20) // Arr為用來輸入行的數組的名稱;
                       //20包括19個字符和1個空字符  


2. 面向行的輸入:get()
與getline()的工作方式類似,接受參數相同,但get()並不再讀取並丟棄換行符,而是將其留在輸入隊列中。可如下使用:
cin.get(Arr1, ArSize); // 讀第一行
cin.get();             // 讀掉換行符
cin.get(Arr2, ArSize2); // 讀第二行

////////////////////////////////////////或者

cin.get(Arr1, ArSize).get();
cin.get(Arr2, ArSize2);


3. 字符串輸入:getline(cin, srt)
getline(cin, str); // str為string類型  getline()需要#include<string>


4. 輸入時遇錯誤類型時
int int nTemp;
cout << "Please enter handicap(int): " << endl;
    while (!(cin >> nTemp))
    {
        cin.clear();//重置輸入,如果省略這條,程序將拒絕繼續讀取輸入
        while (cin.get() != '\n')//本循環使用 cin.get() 來讀取尾行之前的所有輸入,從而刪除這一行
            continue;
        cout << "Please input a integer: ";
    }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM