浮叶蓝空的博客
分享学习心得,记录学习笔记
文章:
90
访问:
630073
登录
关于
首页
今天是:
2026年03月27日 星期五
类别
PHP(39)
其他笔记(20)
Java(1)
C++(17)
mysql(2)
JavaScript(4)
软件产品(6)
近期文章
官网匿名在线客服手机端适配多坐席无需服务器
Node.js+MySQL 聊天室源码 带管理后台 可二开
饼干助手|Cookie一键上报 可配置地址 开发者神器 | 接口调试必备
10年资深软件工程师|定制软件开发|副业接单价格可谈
PHP软件开发,高并发物联网系统定制研发
Mifare 1K卡NFC卡解密读写工具|自定义字典+备份还原
Linux下Cmake引用第三方静态库示例
博主推荐
PHP实现文件下载接口
Qt读写注册表,C++读写注册表
PHP动态修改配置文件,存储为文件
MySql常用语法
Powershell远程连接
PHP从字符串中获取需要的内容部分
封装PHP的HTTP请求
C++控制台应用获取参数
fuyelk
2021年04月24日
4293
*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
zowneo
2018-2026 Copyright© 米灵尔 浮叶蓝空
豫ICP备15007436号-1
豫公网安备 41152302000146号