题解 | #参数解析#

参数解析

https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677

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

void CmdlineParse(const string &str)
{
    vector<string> svec;
    string temp="";
    bool flag=false;  //判断是否处于字符串的状态
    for(int i=0;i<str.size();++i){
        if(str[i]=='"')//字符串的起始或结束
        {
            flag=!flag;
        }else if(str[i]==' '&&!flag)  //参数的分隔符或是否为字符串的内容
        {
            svec.push_back(temp);
            temp="";
        }else 
        {
            temp+=str[i];
        }
    }
    svec.push_back(temp);   //最后一个参数
    cout<<svec.size()<<endl;
    for(int i=0;i<svec.size();++i){
        cout<<svec[i]<<endl;
    }
}

int main() {
    string str="";
    while (getline(cin,str)) {
        CmdlineParse(str);
    }
}

全部评论

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务