C语言给应用程序传递参数

main函数通常是应用程序第一个执行的函数。对基于命令行的程序来说,通过为其传递信息来打开某种行为的开关或控制某种行为很常见。可以用这些参数来指定要处理的文件或是配置应用程序的输出。比如说,Linux的ls命令会基于接收到的参数列出当前目录下的文件。

C用传统的argcargv参数支持命令行参数。第一个参数argc,是一个指定传递的参数数量的整数。系统至少会传递一个参数,这个参数是可执行文件的名字。第二个参数argv,通常被看做字符串指针的一维数组,每个指针引用一个命令行参数。

下面的main函数只是简单地列出了它的参数,每行一个。在这个版本中,argv被声明为一个char指针的指针。

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

程序可以用下面的命令执行:

process.exe -f names.txt limit=12 -verbose

输出如下:

argv[0] c:/process.exe
argv[1] -f
argv[2] names.txt
argv[3] limit=12
argv[4] -verbose

使用空格将每个命令行参数分开,这个程序的内存分配如下图。

使用<code>argc</code>/<code>argv</code>” title=”使用<code>argc</code>/<code>argv</code>” /></p>
<p><code>argv</code>的声明可以简化如下:</p>
<pre><code class=int main(int argc, char* argv[]) {

这跟char** argv是等价的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程