C ++ parameter parsing (from bovine customer network)

Topic Address: parameter analysis
The key is to realize that using the flag to distinguish between processed "" character inside and outside

#include<iostream>
#include<vector>
#include<string>
using namespace std;

int main(){
    string str,stt;
    int i=0;
    bool flag = 0;
    vector<string> arr;
    while (getline(cin, str)){
        for (int i = 0; i < str.size(); ++i){
            if (str[i] == '"'){
                flag = ~flag;
            }
            else{
                if (str[i] == ' ' && flag==0){
                    arr.push_back(stt);
                    stt = "";
                }
                else{
                    if (str[i]!='"')
                    stt += str[i];
                }
            }
        }
        arr.push_back(stt);
        cout << arr.size() << endl;
        for (int i = 0; i < arr.size(); i++){
            cout << arr[i] << endl;
        }
    }
    return 0;
}

Guess you like

Origin blog.51cto.com/14232799/2458610