スレ立てるまでもない質問はここで 105匹目
■ このスレッドは過去ログ倉庫に格納されています
0050デフォルトの名無しさん
2010/03/19(金) 16:24:47要は、既存のmain()関数を流用したいから、array<System::string>からargc, argvに変換したいと言うことだな。
・newとmalloc()を混ぜるな。
・argvはポインタの配列だ。そこをきちんと理解すること。
・sprintf()のフォーマットが"%s"だけなんて無意味なことはするな。
取り敢えず、argvの初期化はこれでいいよ。
char ** argv = (char **) malloc(sizeof(* argv) * argc);
そうなれば、当然argv[i]の代入はこうなる。
argv[i] = (char *) malloc(sizeof(* argv[i]) * strArray[i].size() + 1);
strcpy(argv[i], strArray[i]);
そうそう、argv[argc]にNULLを入れるのも忘れずに。
■ このスレッドは過去ログ倉庫に格納されています