C\C++ 命令行参数argc argv + 命令行运行程序

当我们需要用命令行来运行程序的时候,我们需要用到主函数的参数(argc 和 argv)

含义

argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数

argv[0] 指向程序运行的全路径名
argv[1] 指向在DOS命令行中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串

操作

打开命令行
win+R
输入cmd回车
在这里插入图片描述
切换路径
用cd命令(即ChangeDirectory),我们切换路径到我们要运行的文件的目录下。
在这里插入图片描述
例如这样,我切换到了CodeBlocks的源文件文件夹所在的目录里,这个文件夹里有源代码和可执行的.exe文件。
在这里插入图片描述
这时候我想要运行code2.exe文件,我输入要运行的文件名code2.exe ,然后后面的可以输入多个空格隔开的字符串,它们会作为main()函数的参数。
在这里插入图片描述
我们用代码输出一下

#include <cstdio>
#include <cmath>
#include <algorithm>

int main(int argc, char **argv)
{
    printf("%d\n", argc);
    while(argc){
        printf("%s\n", argv[--argc]);
    }
    return 0;
}

在这里插入图片描述
argc为参数个数,3个明显正确

agrv[0]是地址,在IDE运行如下
在这里插入图片描述
在这里插入图片描述

作用

主要在于地址后面的字符串,比如说你要调用code2.exe里面的某个功能模块,你可以输入code2.exe function1 或者 code2.exe -w 之类的

源代码中检测argv[1]的内容,根据argv[1]的内容来运行相对应的模块。

参考来源

向南的博客 https://www.cnblogs.com/zhangxianhai/p/3587348.html
百度百科 https://baike.baidu.com/item/argc%20argv/10826112?fr=aladdin
yukiooy的博客 https://blog.csdn.net/yukiooy/article/details/4682989

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在C++程序中,argcargv是用来处理命令行参数的。argc是一个整数,表示命令行参数的个数。argv是一个字符指针数组,每个元素指向一个命令行参数的字符串。\[1\]通过使用argcargv,我们可以在程序中获和处理命令行传递的参数。例如,我们可以使用argc来确定传递了多少个参数,使用argv来访问每个参数的值。\[2\]在C++程序中,可以使用以下代码来获和处理命令行参数: ```cpp #include <iostream> using namespace std; int main(int argc, char* argv\[\]) { cout << "The value of argc is " << argc << endl; cout << "The values of argv are:" << endl; for(int i = 0; i < argc; ++i) cout << "argv\[" << i << "\] is " << argv\[i\] << endl; return 0; } ``` 这段代码会输出argc的值,然后逐个输出argv中的参数值。\[2\]另外,如果你使用的是多字节字符集版本的C++程序,可以使用以下代码来获和处理命令行参数: ```cpp #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv\[\]) { for(int i=0; i<argc; i++) { cout << "argument\[" << i << "\] is: " << argv\[i\] << endl; } system("pause"); return 0; } ``` 这段代码也会输出argc的值,然后逐个输出argv中的参数值。\[3\]希望这些代码能够帮助你理解和使用argcargv来处理命令行参数。 #### 引用[.reference_title] - *1* [关于C++中的argc,argv的使用方法](https://blog.csdn.net/wht0408/article/details/125711301)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C和C++argcargv的含义以及用法](https://blog.csdn.net/explorer5568/article/details/127911970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [c++ main中argcargv解析](https://blog.csdn.net/kupe87826/article/details/123708660)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值