【发布时间】:2010-02-16 11:21:13
【问题描述】:
这是我的问题:我有一个数组,其中包含一个命令 a[1],后跟几个命令 args a[2]、a[3]、...
我需要做的是以下
- 创建一个字符串,由 cmd 和 args 的组合组成 例如:
cmd arg1 arg2 arg3
- 执行该命令字符串
我会这样做(伪代码):
- 预先计算每个 arg 的长度并将其存储在数组中
- 获取组合(使用 GNU 科学库)
- 计算分配字符串所需的字节大小(cmd + 1 + lengthof arg1 + 1 + argn-1 + 1) (+1 通常用于空白和 at \0) 的结尾
- 使用 strcat 构建字符串
- 执行命令字符串
好吧,它有效,但我想知道故意使用 strcat 是否真的有效/正确的方法。
有什么建议吗?
【问题讨论】:
-
我不明白“组合”到底是什么......?为什么不使用像 execve 这样的东西?
-
没想到...这可能是更好的解决方案