main関数の引数argc,argvをほかの関数に渡す

main関数には2つの引数がある。
引数の数int argc
argv[]の添え字とargcの値は1つずれていることに注意
引数無しで実行した場合argc=1、引数1つの場合はargc=2となる。
渡された文字列char *argv[]
argv[0]は自分自身のパスが入る。
渡された引数はargv[1]から順に格納されている。

ここで、argvchar型ポインタのポインタなので、
char *argv[]char **argv と同じことになる。

なので、main関数の引数をほかの関数に渡すには次のようにすればいい。

サンプル
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
#include <stdio.h>

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

int main(int argc, char *argv[])
{
        printArgv(argc,argv);
        {
        char ss[80];
        gets(ss);
        }
        return 0;
}

0 件のコメント:

コメントを投稿