对于我正在编写的项目,有一个部分我必须将命令行参数分成两个,以便我可以使用 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/