定义一个bool变量 判断是否在引号里面

#include <iostream>

#include <vector>
using namespace std;

int main() {
    string command, tmp;
    vector<string> ans;
    bool in_quote = false;
    getline(cin, command);
    for(int i = 0; i < command.size(); ++i) {
        if(command[i] == '"') {
            in_quote = !in_quote;
            if(!in_quote) { //如果没有在引号里面 即此时是在引号的最右侧 直接push就行
                ans.push_back(tmp);
                tmp = "";
            }
        } else if(command[i] == ' ' && !in_quote) {
            if(!tmp.empty()) {
                ans.push_back(tmp);
                tmp = "";
            }
        } else tmp += command[i];
    }
    if(!tmp.empty()) {
        ans.push_back(tmp);
    }

    cout << ans.size() << endl;
    for(const string& s: ans) {
        cout << s << endl;
    }
    return 0;
}