[C/C++] 輸入函數getline(cin,str) 與cin.getline(str,int)區別


cin.getline()函數是處理數組字符串的,其原型為cin.getline(char * , int),第一個參數為一個char指針,第二個參數為數組字符串長度。

getline(cin,str)函數是處理string類的函數。第二個參數為string類型的變量。 

#include <iostream>
#include <string>
using namespace std;
const int SIZE=20;

int main()
{
    string str;
    cout<<"string method:"<<endl;
    getline(cin,str);
    cout<<"the string is:"<<endl;
    cout<<str<<endl;

    cin.get();//接受最后一個結束符

    char chs[SIZE];
    cout<<"char * method:"<<endl;
    cin.getline(chs,20);
    cout<<"the string is:"<<endl;
    cout<<chs<<endl;

    return 0;
}

注:getline(cin,str); 處理后還留有結束符在輸入流中,故需要使用cin.get();接受最后一個結束符,才能接受后面得輸入值。

  兩個函數返回值都會丟棄換行符。

 


免責聲明!

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



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