如何在C++中解析命令行参数

水何澹澹2023-04-25  23

C++内的命令行参数储存在main函数中的argv参数中 而argc储存了命令行参数个数 由系统在执行时动态分配

实例:

#include <cstdio>

/

 argc:命令行参数个数

 argv:储存了所有命令行参数,其中第一个(即argv[0])为当前可执行文件名

/

int main(int argc,char argv[])

{

    int i;

    for(i=0;i<argc;i++)

        if(argv[i]=="test")

            puts("Found argument 'test'");

    return 0;

}

所谓c语言的命令行参数,主要指的main函数的参数,main函数有操作系统来调用,用户通过操作系统来运行软件,因此可以传递参数。比如

 int main (int argc, char argv[])  //这是控制台上的main函数

其中argc用于说明传递的命令行参数的个数,argv是一个char 的指针数组,每1个元素代表一个参数。其中argv[0]即表示程序本身。

程序运行时提供的一些参数,因为以前是从命令行输入,所以沿用了这个名称。比如你在 DOS 下使用 DIR 命令的时候就可以:

DIR /P

表示分页显示,这里的 /P 就是命令行参数。

命令行参数的常见应用领域

1 初始化程序

在CMD下输入这个命令 notepad d:\testtxt,此时记事本程序会判断D盘下有没有texttxt文件,如有则打开,如没有则提示是否要新建。2 设置程序执行方式

我们在手工打OS补丁时,根据传入的参数可控制补丁程序的执行

以KB打头的补丁文件,参数可选/quiet/norestart/o,分别表示安装时无需用户参与、安装完成后不重启、不提示覆盖OEM文件。

以Q打头的补丁文件,参数可选/q/o/z,分别表示安装时无需用户干预、不提示覆盖OEM文件、安装完后不重新启动。命令行参数在C#中实现static void Main(string[] args)

{

ApplicationEnableVisualStyles();

ApplicationSetCompatibleTextRenderingDefault(false);

ApplicationRun(new Form1(args));

} args是一个参数数组,这个名字只代表参数的意思,可以换成任何符合C#命名规范的名字。

通过访问这个数组,即可得到各个参数。 示例 1

本示例演示如何输出命令行参数

// cmdline1cs

// arguments: A B C

using System;

public class CommandLine

{

public static void Main( string[] args )

{

// The Length property is used to obtain the length of the array

// Notice that Length is a read-only property:

ConsoleWriteLine( "Number of command line parameters = {0}",

argsLength );

for( int i = 0; i < argsLength; i++ )

{

ConsoleWriteLine( "Arg[{0}] = [{1}]", i, args[i] );

}

}

}

输出

使用如下所示的一些参数运行程序:cmdline1 A B C

输出将为:

Number of command line parameters = 3

Arg[0] = [A]

Arg[1] = [B]

Arg[2] = [C]

示例 2

循环访问数组的另一种方法是使用 foreach 语句,如本示例所示foreach 语句可用于循环访问数组或“NET Framework”集合类它提供了一种简单的方法来循环访问集合

// cmdline2cs

// arguments: John Paul Mary

using System;

public class CommandLine2

{

public static void Main( string[] args )

{

ConsoleWriteLine( "Number of command line parameters = {0}",

argsLength );

foreach( string s in args )

{

ConsoleWriteLine( s );

}

}

}

输出

使用如下所示的一些参数运行程序:cmdline2 John Paul Mary

输出将为:

Number of command line parameters = 3

John

Paul

Mary

以上就是关于如何在C++中解析命令行参数全部的内容,包括:如何在C++中解析命令行参数、什么是c的命令行参数、命令行参数有什么用啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

转载请注明原文地址:https://juke.outofmemory.cn/read/3675104.html

最新回复(0)