在C ++中将参数字符串传递给execl

时间:2014-10-12 19:24:51

标签: c++

我需要将以下字符串传递给execl方法

execl("/usr/bin/awk", "awk", "{print > \"merged.txt\"}", files.c_str() , (char*) 0);

我可以想象这不起作用。因为它只是一种不同的方法签名。但是,如何确保评估files.c_str()

files变量中有以下参数:./tmp_file-10574.txt, ./tmp_file-10575.txt, ./tmp_file-10576.txt

我基本上希望调用这样的方法(替换files.c_str()):

execl("/usr/bin/awk", "awk", "{print > \"merged.txt\"}", ./tmp_file-10574.txt, ./tmp_file-10575.txt, ./tmp_file-10576.txt , (char*) 0);

这是awk的回复:awk: cannot open tmp_file-11180.txt tmp_file-11181.txt tmp_file-11182.txt (No such file or directory)

注意,如果files变量只包含一个文件,例如./tmp_file-10574.txt它很好用。

0 个答案:

没有答案