C++处理输入
cin
是一个buffer:
>>
先跳过delimiter(newline or whitespace characters)再读(直到遇到delimeter);getline()
先读再跳过delimiter;- 三个参数分别是
istream
,string
和char
,char
用来指定delimiter,未指定则默认为'\n'
。
vector<vector<int>> matrix; string line; while (getline(cin, line) && !line.empty()) { vector<int> row; istringstream iss(line); string val; while (getline(iss, val, ',')) { row.push_back(stoi(val)); } matrix.push_back(row); }