浮叶蓝空的博客
分享学习心得,记录学习笔记
文章:
84
访问:
526092
登录
关于
首页
今天是:
2025年09月09日 星期二
类别
PHP(39)
其他笔记(20)
Java(1)
C++(17)
mysql(2)
JavaScript(4)
近期文章
Linux下Cmake引用第三方静态库示例
Linux下使用Cmake构建静态库示例
Ubuntu设置自动挂载硬盘,挂载U盘
压力测试工具Apache JMeter基本使用
使用PHP脚本借助FFmpeg一键合并视频
Shell中的>、1>、2>、2>&1、&>详解
PHP开启多进程实现异步非阻塞并行执行任务
博主推荐
PHP实现文件下载接口
Qt读写注册表,C++读写注册表
PHP动态修改配置文件,存储为文件
MySql常用语法
Powershell远程连接
PHP从字符串中获取需要的内容部分
封装PHP的HTTP请求
C++控制台应用获取参数
fuyelk
2021年04月24日
4111
*C++控制台应用获取参数,读取main(int argc, char* argv[])* ### C++程序可以通过main函数的两个参数argc和argv来获取调用时传过来的参数,这里写一个简单的函数专门用来处理接收到的参数 #### main函数: ```cpp /** * @param int argc 参数个数(最小为1) * @param char argv 参数内容以空格分隔,第一个[0]为程序绝对路径 * @return */ int main(int argc, char *argv[]) { string type, name, gender; if (parseParameter(argc, argv, "type", type)) { cout << "type is " << type << endl;; } if (parseParameter(argc, argv, "name", name)) { cout << "name is " << name << endl;; } if (parseParameter(argc, argv, "gender", gender)) { cout << "gender is " << gender << endl;; } system("pause"); } ``` #### 解析方法 ```cpp /** * 解析参数 * @param int argc * @param char argv * @param string name 参数名 * @param string value 参数内容 * @return bool */ bool parseParameter(size_t argc, char *argv[], string name, string &word) { word = ""; for (size_t i = 0; i < argc; i++) { // '-'或'--'开头为参数标识 if ("-" + name == argv[i] || "--" + name == argv[i]) { // 参数后没有内容,则返回空字符 if (argc < i + 1) { return true; } // 从参数位的后一位开始取值 for (size_t j = i+1; j < argc; j++) { string curr = argv[j]; // 直到遇到'-'开头则停止 if ("-" == curr.substr(0,1)) { return true; } // 拼接空格 if (j != i+1) { word += " "; } // 拼接当前数据 word += argv[j]; } return true; } } return false; } ``` #### 调用测试 [](https://www.milinger.com/a232.html "C++控制台程序参数测试")
上一篇:
C++新开线程异步执行,非阻塞调用函数
下一篇:
C++控制台应用输出带颜色的字符
1人点赞
登录后评论
友情链接
doywb
2018-2025 Copyright© 米灵尔 浮叶蓝空
豫ICP备15007436号-1
豫公网安备 41152302000146号