c - 尝试将命令行参数解析为 C 中的两个单独的命令

标签 c linux command-line

对于我正在编写的项目,有一个部分我必须将命令行参数分成两个,以便我可以使用 execvp 单独运行它们。我不知道如何做到这一点,到目前为止我想做的是传递一个类似命令的参数,如下所示:

$testprogram /bin/ls , /bin/cat

然后用逗号将其打断,以便我可以将/bin/ls 和/bin/cat 分别传递到通用 execvp 函数中。

我尝试使用 for 循环和 if 语句来忽略逗号,但效果不太好。

有什么想法吗?

最佳答案

只需给出不带逗号的参数,并使用空格,如

$testprogram/bin/ls/bin/cat

现在,

argv[0]=测试程序

argv[1]=/bin/ls

argv[2]=/bin/cat

关于c - 尝试将命令行参数解析为 C 中的两个单独的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26397505/

相关文章:

c - 如何在c中按char复制字符串char?

java - 使用 docker 容器中的 java 访问类路径中的 JSON 文件时遇到 FileNotFoundException(SprintBootApplication)

.net - 在 sles 11 中运行 .NET

linux - apache2源安装在哪里

c - "gcc -lm -o [executable_name] [file_name].c"是什么意思?

c - 当我按 ctrl + D 时,为什么我的程序会在结束之前打印一些内容?

c - 在关闭的连接上写入不会立即生成 sigpipe

c++ - 使用位移运算将两个变量相乘

java - 如何从 Java 读取命令行输出(通过 Runtime.getRuntime().exec(...))

image - 如何在终端中查找特定大小的图像?