所以,我必须创建一个使用我的脚本来搜索某人姓名的 cpp 文件。我对此很陌生,所以我不太了解,但这就是我目前所拥有的。我也必须使用系统()。这是我的代码
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main (int argc, char *argv[]) {
system("./findName.sh" + argv[1] );
return 0;
}
所以,我必须创建一个使用我的脚本来搜索某人姓名的 cpp 文件。我对此很陌生,所以我不太了解,但这就是我目前所拥有的。我也必须使用系统()。这是我的代码
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main (int argc, char *argv[]) {
system("./findName.sh" + argv[1] );
return 0;
}
问题是在 C++ 中,字符串文字(例如"./findName.sh")不是std::string,而是指针。对于指针,加法除了字符串连接之外还有另一个含义。
您可以创建一个std::string并使用它来执行连接:
std::string scriptName = "./findName.sh";
std::string command = scriptName + " " + argv[1];
system(command.c_str());
不要忘记检查大小argc以确保存在参数。
您可以使用std::system或boost::process用于此目的。