首页
社区
课程
招聘
[原创]编程要学的有参main函数之命令行参数杂谈
发表于: 2022-3-28 13:38 15039

[原创]编程要学的有参main函数之命令行参数杂谈

2022-3-28 13:38
15039

1、软件main函数内部处理

2、终端命令行窗口传参

3、注册表相关传参


本帖于2022.03.28由duan首发,如有转载,请注明出处。


新手小白入门贴,大神请忽视跳过,如有不当之处,敬请谅解。


内部处理和其他函数相同,大家估计都很熟悉了,关于如何向程序传参可能有些迷惑。

我们向一个编译完成的程序传参,有三个形式,其实形式2有时可以说是形式1的简化操作。

形式1、通过命令行的终端传参。

形式2、把文件直接拖到程序图标时传参。

形式3、通过关联相应文件打开时传参。

argc(argument count)实参的数量,argv(argument vector/values)实参向量或者称为实参数值组。

此处的main函数的参数其实和其他普通函数的参数是没有区别的,只是其他函数的传递什么参数是程序员设计的,而此处是根据系统约定传参的。

默认argv[0]是程序名,程序名应该知道吧?不知道就去看看你运行的可执行的“××.exe”文件,其中的“××”就是程序名。

默认的程序名是固定的,约定俗成,知道就好,反正在软件处理这个阶段是不用它的。

数组里有多少参数看argc的大小,要处理的参数从argv[1]开始的,main函数的第二个函数是指向数组的指针,涉及的知识点是函数的参数不能是函数或者数组,所以这里使用了指针类型。

至于怎么处理,大家自由发挥吧,例如可验证argv[1]是否等于“fileName”,相等就打开一个文件,其他功能类似。

我们先通过用记事本(notepad)打开一个readme.txt文件演示传参,注意事项:路径和文件名最好用英文,且都不含空格(有空格一般用“”号括住)。

win+r然后输入cmd打开命令行窗口,当然你也可以在开始菜单搜索cmd然后打开命令行窗口。

假定我们在目录C:\Users\dzh2020里有个readme.txt


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 3
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//