如何在C命令行中使用逗号分隔输入参数?

时间:2018-11-11 01:28:40

标签: c command-line

(C程序)我需要有关分配的帮助,在该分配中,我必须从命令行以cmd1,cmd2,cmd3,cmd4格式输入输入,其中每个命令都用逗号分隔。我该怎么做?有没有一种方法可以将整行作为字符串然后解析呢?

为进一步说明,用户在编译后执行以下程序:

./a.out cmd1,cmd2,cmd3,…,cmdN

命令数量不受限制。 如果有一种方法可以将参数作为一个最好的字符串,因为我可以解析程序中的命令。

我不需要解析文本的帮助;有关如何获取命令行参数的一些指导。

1 个答案:

答案 0 :(得分:1)

运行c程序时,main函数将获得2个参数:

 main(int argc, char *argv[])

其中第一个是命令行参数的数量,第二个是包含参数的数组。

命令行参数用空格分隔,字符串的一部分构成argv数组。

在您的情况下,“ cmd1,cmd2,cmd3”似乎不包含任何空格,因此它们将是argv数组中的单个元素。一旦添加空格,您将获得更多的参数。即cmd1 , cmd2将以3个参数结尾:cmd1,cmd2

我想您的任务是将所有args合并为一个字符串,然后解析该字符串,并使用,分隔符将其标记化。

请注意,argv [0]将包含您运行的程序的路径。