c++ - 在 C++ 中执行终端命令,并在执行时使用 C++ 文件从终端传递的参数
问题描述
什么是 C++ 中的以下 Python 代码的等价物?
import sys, os
#Example command
os.system(f"touch {sys.argv[1]}")
解决方案
一个接近的等价物可以是:
#include <cstdlib>
#include <iostream>
#include <string>
int main(int argc, char ** argv)
{
if (argc == 2)
{
std::string cmd = std::string("touch ") + argv[1];
std::system(cmd.c_str());
}
else
std::cerr << "Usage: " << argv[0] << " <file>" << std::endl;
return 0;
}
我更喜欢检查 args 的数量,而不是希望它不仅仅是 1。
无论如何,也可以在不使用touch或system或等效的情况下执行此操作,如果文件不存在,您的程序会创建文件,或者将其修改日期和时间设置为当前日期和时间
推荐阅读
- react-native - 如何在开发中的两个 Expo 应用程序之间建立深度链接?
- sql - 提高选择和插入的性能
- git - 如何在 Flutter 中引用存储库中的包?
- composer-php - Travis CI:为什么作曲家有时会安装整个包,有时不会?
- python - pydev 调试器:进程 7752 正在连接
- css - 在 React 中使用字体真棒图标作为背景图像
- python - csv.writer 编码“utf-8”,但读取编码“cp1252”
- python - python中的plt.bar生成空图
- flutter - 列表
不是 Map 类型的子类型 - java - Android 从 Firebase 消息中心重新加载 WebView URL onNewToken