c++ - 如何从 cpp 文件传递命令行参数并在 shell 脚本中使用它?
问题描述
所以,我必须创建一个使用我的脚本来搜索某人姓名的 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
以确保存在参数。
推荐阅读
- node.js - 在哪里可以找到 SQL Server 数据库的 url 或 ip 地址
- html - 使用 img-fluid 类时,有没有办法防止图像在页面上“浮动”?
- fluentd - 在fluentd中重命名特定字典中的所有键
- eclipse - 从与 eclipse 相同的控制台运行 maven 命令
- python-3.x - 正则表达式提取多个连字符之间的文本
- uwp - 带有日期的 UWP 滚动条
- flutter - 为了缩短 Flutter / dart 中的复杂布局,处理将数据传递给小部件的最佳方法是什么?
- java - 如何将 Firestore 时间戳转换为 Java LocalDate?
- reactjs - 如何渲染页眉,页脚,菜单,仅一次且仅用于带有反应 js 的私有路由?
- python - 变量未添加到数组中