命令行实参


在之前的文件中,main函数在括号中总是空白的,若要使用命令行实参,可以在括号中如下填写:

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

参数argc是一个整数,记录命令行实参的个数,这个数目包括了程序名称,例如下面的执行指令,argc将记录为 5:

prog hello.c -o  -c project.p

每个实参之间以空白作区隔,上面的命令包括程序名称共会有五个实参,即"prog""hello.c""-o""-c""project.p"

程序在执行后,argc的值一定大于 1,因为至少包括了程序名称,而argv分别存储了实参的字符串,例如上面的例子中,argv[0]"prog"argv[1]"hello.c"argv[2]"-o"argv[3]"-c"argv[4]"project.p"

在命令行实参的使用中,若输入是一个包括空白的字符串,就使用""来包括,例如:

prog "This is a string!"

如此argv[0]是程序名称"prog",而argv[1]的字符串就会是"This is a string!"

底下的范例简单地将命令行实参输出:

#include <stdio.h>

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

    return 0;
}




展开阅读全文