我必须编写一个c++
程序,该程序“计算文本文件中的行数,单词数和字节数”,所有这些都必须放在新行中。
我必须在我的C ++程序中使用wc命令。我设法得到行数:
char *envp[] = {NULL};
char *command[] = {"wc", "-l", filename.c_str(), NULL};
execve("/usr/bin/wc", command, envp);
在上述陈述之后,我有一个将“ -l”替换为“ -w”等。但是我的程序在第一个
execve()
语句之后立即结束。如何在
execve()
语句之后执行所有语句?N.B:这是我第一次使用c ++程序运行系统命令。
先感谢您。
最佳答案
execve
将当前的可执行映像替换为指定的映像,因此从不成功返回。如果要继续执行主程序,则需要先fork
。或使用像system
函数一样乏味的东西。
关于c++ - 在一个C++文件中运行多个execve函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51800874/