我正在尝试在C ++程序中运行以下命令:
string cmd("strings -n 3 < BinaryFile > ascii.txt");
system(cmd.c_str();
BinaryFile
是包含/home/test/BinaryFile
的字符串当我像这样运行它时,得到以下输出:
sh: BinaryFile: No such file or directory
如果我尝试以下操作:
string cmd("strings -n 3 < BinaryFile.c_str() > ascii.txt");
system(cmd.c_str();
我得到这些错误:
sh -c: line 0: syntax error near unexpected token '('
sh -c: line 0: 'strings -n 3 < Binaryfile.c_str() > ascii.txt
我如何才能使其正常运行?
最佳答案
您需要显式构造命令行:
string cmd("strings -n 3 < " + BinaryFile + " > ascii.txt");
system(cmd.c_str());
关于c++ - 在C++程序中运行linux命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43284137/