按行输入字符串,之后按照空格将字符串分割后处理。
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
int num;
cin >> num;
cin.ignore();
while (num--) {
string inputs;
getline(cin, inputs);
vector<string> res;
while (!inputs.empty()) {
int start = 0;
if (inputs.find(' ', start) == inputs.npos) {
res.push_back(inputs);
break;
}
int pos = inputs.find(' ', start);
string temp = inputs.substr(start, pos);
inputs.erase(start,pos+1);
res.push_back(temp);
}
}
return 0;
}
涉及中文时,使用 encoding =‘utf-8’进行转码
getline(cin,string) 支持整行输入,遇到换行符后停止
cin 遇到空格和换行符时停止
cin.get() 接受字符型,可以接受空格,换行符停止
cin 和 getline 连用时,要在cin后面添加cin.ignore,防止吞掉字符。