使用参数创建命令行程序

时间:2012-01-07 23:59:27

标签: c++ command cmd creation

我发现可以通过C ++创建命令行程序。 我是一名C ++新手,我只知道基本的东西,但我仍然希望用它来创建新的命令行程序。
现在,我发现了这段代码:

//file name: getkey.exe
#include <conio.h>
int main(){
    if (kbhit())  return getche() | ('a' - 'A');
}

非常简单,它运行如下: getkey
但它没有解释如何使用参数创建命令(例如:getkey /?或/ K或/ foo ...)

如何使用参数创建命令行程序? &LT;&LT;主要问题

3 个答案:

答案 0 :(得分:4)

将函数main定义为采用这两个参数:

int main( int argc, char* argv[] )

argc将填充传递的参数的 number argv将是这些参数的数组,作为以null结尾的字符字符串。 (C风格的字符串)

程序名称本身将计为第一个参数,因此getkey /?会将argc设置为2argv[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中的第一个条目是程序可执行文件的名称)。