在C中解析用户输入的空格

aiazj4mn  于 2022-11-04  发布在  Unix
关注(0)|答案(1)|浏览(164)

我试图通过白色来解析scanf()中的用户输入。我想将每个字符串分开,因为我将在UNIX中将它们作为命令使用。
输入示例:ls -l
预期输出:

This is a command ls
This is a parameter -l

这就是我到目前为止所取得的成就。

int main() {
    char input[100];
    do{
        scanf("%s", input);
        char *token = strtok(input, " ");
        while (token != NULL){
            token = strtok(NULL, " ");
        }
        printf("This is the command %s ", input);
        //printf("This is a parameter %s ", input[1]);This isn't C programming language but I'm unsure of how to do this.
        //system(input); does not work, here for context.

    }while(1);

}

电流输出:这是指挥官你好这是指挥官
如何用空格将字符串与用户输入的字符串分开,并使用

2skhul33

2skhul331#

while (token != NULL){ token = strtok(NULL, " "); }
只需在strtok调用之前在此循环中添加using即可。
如果你要使用这段代码,我建议你阅读getopt函数https://man7.org/linux/man-pages/man3/getopt.3.html

相关问题