带参数的main函数(命令行处理技术)
C++ 有一种让在命令行环境中运行的程序能够访问命令行参数的机制,方法是使用下面的 main() 函数:
int main(int argc, char * argv[])
例如:
program17.8.2
编写一个程序,将键盘输入(直到模拟的文件尾)复制到通过命令行指定的文件中。
#include <iostream> #include <fstream> #include <string> using namespace std; int main(int argc, char* argv[]) { ofstream fout; for (int file = 1; file < argc; file++) { fout.open(argv[file]); if(!fout.is_open()) { std::cerr << " Can't open " << argv[file] << endl; exit(EXIT_FAILURE); } cout << "Enter input(enter a blank line to quit) " << endl; string input; while(getline(cin, input) && input.size() > 0) { fout << input << endl; cout << "Input over." << endl; } fout.close(); } return 0; }
下面通过终端来执行该 cpp 文件。
在终端中进入到该 cpp 文件路径下:
先使用 g++ 命令生成可执行文件:
紧接着执行该可执行文件,同时带上程序中需要的参数,即一个文件名:
查看 a.txt 文件中的内容:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!