2016-08-07 9 views
1
#include<iostream> 
#include<cstring> 
using namespace std; 

int main() { 
    int t; 
    cin >> t; 

    string s; 
    getline(cin, s); 
    cout << s; 

    return 0; 
} 

tを入力した後にEnterキーを押すと、文字列が入力として改行文字を受け取るので、プログラムは終了します。私に何ができる?私はこれらの2つの入力の間に何かを出力することはできませんし、tの後の入力は必須です。ユーザからの文字列の読み込み

答えて

1

getline(cin, s)を2回使用することができます。拳は、最初の行の残りの部分を無視し、2番目は実際にあなたが必要なものを読むか、より良いあなたが入力バッファに追加されtの入力を終了するために押しキーを入力し、適切な引数

1

cin.ignore()を使用します。したがって、getlineで表示されるバッファの最初の入力はと入力してください。空の行があると考えられます。

改行をスキップするignore機能を使用します。

std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 

あなたはまた、2つのstd::getline呼び出しを使用して、例えば使用することができますstd::stoiは入力をintに変換します。または、std::istringstreamを入れ、通常の>>演算子を使用して抽出します。

関連する問題