C++ string 輸出問題?

2020-05-14 9:27 pm
今天打算測試一下各種C++ 輸出是否正常, 程式如下:
#include <iostream>
using namespace std;
int main() { 
    int num;
    string str;
    cout << "Input a number: ";
    cin >> num;
    cout << num;
    cout << "Input a string: ";
    getline(cin, str);
    cout << str;
    return 0; 
}
一條極其簡單的程式, 竟然在 getline(cin, str); 出錯, 有無大神可以解釋一下?
(在執行 cout << "input a string: "; 後, 系統會跳過後面程式)

回答 (1)

2020-05-15 10:46 pm
你的cin中有'\n',getline讀到'\n'就會結束,所以要清掉'\n'。
cin>>ws;

cin.ignore(256,'\n');


收錄日期: 2021-04-24 10:39:44
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20200514132708AAgSoMC

檢視 Wayback Machine 備份