【C/C++】輸入:連續輸入,以逗號隔開


  1. 連續輸入,以空格或者以逗號隔開,換行符結束
    【范例】輸入
    23 12 34 56 33或者
    23,12,34,56,33
vector<int> data;
int tmp;
while (cin >> tmp) {
	data.push_back(tmp);
	if (cin.get() == '\n') break;
}
  1. 逗號隔開,同時接收換行符
    【范例】輸入
    12,23,34
    23,45,56
    34,45,76
int num;
vector<vector<int>> arr;
vector<int> a;
while (cin>>num)
{
    a.push_back(num);
    if (cin.get() == '\n')
    {
        arr.push_back(a);
        a.clear();
    }
}

二維的輸出:

int cnt = arr.size();
for (int i = 0; i < cnt; i++)
 {
    for(vector<int>::iterator it = arr[i].begin(); it != arr[i].end(); it++)
    {
        cout << *it ;
    }
    cout << endl;
}
  1. 字符數列,用逗號分隔
    string會把逗號給讀進去,這條我還沒想好

  2. 輸入帶空格的字符串
    這個其實之前寫過一篇應該
    因為cin遇到空格或者回車會停止輸入
    接收空格,到回車結束

string a;
getline(cin, a);

參考:https://zhuanlan.zhihu.com/p/82343772


免責聲明!

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



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