【什么是启动命令行】
例如:这个程序为n.exe,那么在powershell里面输入
[PowerShell] 纯文本查看 复制代码 .\n.exe
这行命令就是启动参数
如果直接在explorer.exe里启动,启动命令是这样的
[AppleScript] 纯文本查看 复制代码 explorer.exe "path\n.exe"
【如何检测启动命令行】
检测启动命令行可以使用以下两个参数
[C++] 纯文本查看 复制代码 int argc //命令行的个数
char * argv[] //命令行的16进制数
这两个参数位于main函数中,如下
[C++] 纯文本查看 复制代码 int main(int arvc, char * argv[])
在VS的旧版本中,默认程序就是这样
但是新版本VS,默认是没有这两个参数的
【检测启动命令行的个数】
输入了多少参数,argc的数值就是多少,但是这样就有一个问题
[PowerShell] 纯文本查看 复制代码 .\n.exe
本身就是一个参数,所以还要-1
源码
[C++] 纯文本查看 复制代码 #include <iostream>
int main(int argc, char * argv[])
{
int commandNum = 0; //一定要初始化,否则数值会不准确
commandNum = argc - 1;
if (commandNum == 0){
printf("请输入一个参数");
}
else {
printf("输入了%d个参数",commandNum);
}
system("pause");
return 0;
}
输入
[AppleScript] 纯文本查看 复制代码 .\n.exe -f
输出
[AppleScript] 纯文本查看 复制代码 输入了1个参数
输入
[PowerShell] 纯文本查看 复制代码 .\n.exe
输出
[AppleScript] 纯文本查看 复制代码 请输入一个参数
|