首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C- strsep分裂字符串

C- strsep分裂字符串
EN

Stack Overflow用户
提问于 2015-09-12 19:44:53
回答 1查看 384关注 0票数 0

我用C语言为我的simpleShell程序创建了一个simpleShell方法,并将每个参数存储在要存储在simpleShell数组中的分隔符空格之前。但是,我试图在链接列表中添加带有它们各自参数的参数,但我在获取它们时遇到了困难。

例如,如果我输入ls,我希望:

代码语言:javascript
复制
args[0] = "ls";

当我输入ls -l时,我想;

代码语言:javascript
复制
args[0] = "ls";
args[1] = "-l";

我在这里要做的是:如果检测到"-“参数,将其附加到前面的参数"ls”,并将其保存为单独的字符串"ls -l“,以存储在linkedList中(已经实现)。

这是我的方法。

代码语言:javascript
复制
void parseCmd(char* cmd, char** args)
{       
    int i;

    for(i = 0; i < MAX_LINE; i++) {
        args[i] = strsep(&cmd, " ");

        if (args[i] != NULL)
            printf("--> %s \n",args[i]);

        if(args[i] == NULL) break;
    }
}

编辑:

我尝试了以下方法

代码语言:javascript
复制
if (strchr(args[i], '-'))
    printf("--> %s \n", args[i]);

但我错了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-12 20:03:43

字符串是一个字符数组。您会意识到args是char**,所以它基本上是一个数组。您可以检查args条目是否包含“-”,如果是真的,则可以执行一个简单的字符串连接,并将该值添加到args中。检查字符串的第一个字符的值。

从程序上讲,

代码语言:javascript
复制
if(args[i][0] == '-')
    <Insert code for concatenation>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32542979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档