C++ string類型的讀寫


先從一個小程序談起:

#include <iostream>
#include <string>
using namespace std;
int main()
{
         string s1;
         cin >> s1;
         cout << s1 << endl;
         return 0;
}

看看測試結果:

當輸入字串“hello”時,輸出是“hello”, 正確。

但是下面當輸入“hello, nihao"時,輸出確實”hello,"把空格后面的東西全部忽略掉了。讀入規則是這樣的:

  • 讀取並忽略開頭所有的空白字符(如空格、換行符、制表符)
  • 讀取字符直到空白字符為止。

那怎么讀入一整行呢?

用getline讀取整行文本

函數原型:getline(cin, string),第一個參數是輸入流對象、第二個參數是保存字符串的字符串對象。getline從輸入流中讀取對象保存到string中,但是不包括換行符,這樣就可以保存一行中的空格、制表符了。

示例程序:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string s1;
    while(getline(cin, s1))
    {
        cout << s1 << endl;
    }
    return 0;
}

測試結果:

 

 


免責聲明!

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



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