命令行与C++

windows和Linux都接受使用命令行进行程序的运行,例如在windows下使用命令行命令.\notepad可以打开记事本,使用特定的命令行参数,如.\notepad 1.txt可以打开1.txt这个文件。下面介绍如何使用c++实现该功能。

要想实现命令行参数选项,需对main函数的输入进行改变,如下:

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

}

argc:代表启动程序时,命令行参数的个数。C/C++语言规定,可以执行程序程序本身的文件名,也算一个命令行参数,因此,argc的值至少是1。

argv:指针数组,其中的每个元素都是一个char *类型的指针,该指针指向一个字符串,这个字符串就存放着命令行参数。

简单示例程序:

#include <iostream>

using namespace std;

int main(int argc,char * argv[])
{
    for(int i=0;i<argc;i++)
        printf("%s\n",argv[i]);
    return 0;
}

编译后,使用powershell运行,结果如下:

 

 注意如果输入有空格需要使用" "保证输入的完整性。

 补:

/*
.\命令行参数.exe test1 test2 3 "hello world"
argc=5
argv[0]=".\命令行参数.exe"
argv[1]="test1"
argv[2]="test2"
argv[3]="3"
argv[4]="hello world"
*/

程序执行后,argc和argv的数据对应情况如上。

 

posted @ 2022-02-28 19:05  JianYuBlog  阅读(265)  评论(0编辑  收藏  举报