题解 | 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; } }