0

次のようにコマンドラインで使用するコマンドラインツールを考えると:./tool img/file.png

最初の引数を変数に割り当てるにはどうすればよいですか? *argv[1]&argv[1]を試しましmalloc(sizeof(argv[1]))たが、invalid initializerエラーが発生しました。基本的な C の概念を理解できていないのでしょうか、それとも行き詰まっているのでしょうか? ご協力いただきありがとうございます!

int main(int argc, char ** argv) {

    char block1_arg_Filename[] = "img/file.png"; //that's how it works but I don't need it

    char block1_arg_Filename[] = argv[1]; // don't get it to work but that's how I need it

    [...]

    return 0;

}
4

3 に答える 3

1

まず、 をチェックして、引数が存在することを確認する必要がありますargcchar *次に、直接使用できない場合は、単にそれをに割り当てますargv[x](できるはずです)。

于 2013-06-20T12:10:47.463 に答える
1
char* block1_arg_Filename = argv[1];

もちろん、argc > 1これを試す前に確認してください。

于 2013-06-20T12:11:45.413 に答える
0
int main(int argc, char ** argv) {

    if (argc > 1) {
      char *str = argv[1];
      /** do some stuff **/
    }

    return 0;

}

これを試して

于 2013-06-20T12:28:46.403 に答える