我发现可以通过C ++创建命令行程序。
我是一名C ++新手,我只知道基本的东西,但我仍然希望用它来创建新的命令行程序。
现在,我发现了这段代码:
//file name: getkey.exe
#include <conio.h>
int main(){
if (kbhit()) return getche() | ('a' - 'A');
}
非常简单,它运行如下: getkey
但它没有解释如何使用参数创建命令(例如:getkey /?或/ K或/ foo ...)
如何使用参数创建命令行程序? &LT;&LT;主要问题
答案 0 :(得分:4)
将函数main
定义为采用这两个参数:
int main( int argc, char* argv[] )
argc
将填充传递的参数的 number ,argv
将是这些参数的数组,作为以null结尾的字符字符串。 (C风格的字符串)
程序名称本身将计为第一个参数,因此getkey /?
会将argc设置为2
,argv[0]
将为“getkey
”和argv[1]
将是“/?
”
答案 1 :(得分:4)
您只需要main()
的其他声明:
#include <iostream>
int main(int ac, char* av[]) {
{
std::cout << "command line arguments:\n";
for (int i(1); i != ac; ++i)
std::cout << i << "=" << av[i] << "\n";
}
答案 2 :(得分:3)
要处理命令行参数,请更改:
int main()
到
int main(int argc, char** argv)
argc
是命令行参数的数量(argv
中的元素数)。
argv
是命令行参数(argv
中的第一个条目是程序可执行文件的名称)。