0

使用方法を見つけようとしています FILE * fopen ( const char * filename, const char * mode );が、ファイル名を間接的に渡しています。また、argv[] から直接取得した名前で関数を間接的に呼び出す方法も知りたいです。文字列をバッファ char 配列に格納したくありません。例えば:

 int main (int argc,char *argv[])
    {
      FILE *src;
      ...
      src = fopen("argv[1]", "r");   //1st:how to insert the name of the argv[1] for example?
      ...
     function_call(argc,argv);    //2nd:and also how to call a function using directly argc argv
     ...
     }
    void create_files(char name_file1[],char name_file2[])
    {...}

関数を呼び出すために、長さと文字列を保存する必要がありますか? (2番目の質問について):)

4

2 に答える 2

4

あなたは単に使用することができますargv[1]、それはchar *です:

if (argc < 2)
    /* Error. */

src = fopen(argv[1], "r");

についても同様ですcreate_files

create_files(argv[1], argv[2]);
于 2012-01-15T14:22:27.990 に答える
1

fopen文字の配列へのポインタを取ります。argv文字の配列へのポインタの配列へのポインタです。

fopen(argv[1], "r")

argv 配列の 2 番目の位置にあるポインタを に渡しますfopen

通り過ぎる場合はargcargvそのまま渡します。それらのタイプは変わりません。

于 2012-01-15T14:25:08.240 に答える