题解 | #参数解析#

参数解析

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);
    }
}

全部评论

相关推荐

06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务