我需要将以下字符串传递给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
它很好用。