题解 | C++ #参数解析#
参数解析
https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
vector<string> result;
getline(cin, s);
bool signFlag = false;
int left;
int cnt = 0;
for(int i = 0; i < s.size(); i++){
if(signFlag == true){
if(s[i] != '"'){
cnt++;
}else{
signFlag = false;
result.push_back(s.substr(i-cnt, cnt));
cnt = 0;
i++;
continue;
}
}
if(s[i] == '"'){
if(signFlag == false){
signFlag = true;
}
}
if(signFlag == false){
if( s[i] == ' '){
result.push_back(s.substr(i-cnt, cnt));
cnt = 0;
}
if(i == (s.size()-1)){
result.push_back(s.substr(i-cnt, cnt+1));
cnt = 0;
}
if(s[i] != ' '){
cnt++;
continue;
}
}
}
cout << result.size() << endl;
for(int i = 0; i < result.size(); i++){
cout << result[i] << endl;
}
}
腾讯公司福利 1138人发布