スレ立てるまでもない質問はここで 105匹目
■ このスレッドは過去ログ倉庫に格納されています
0048デフォルトの名無しさん
2010/03/19(金) 16:16:36名前を変えて使いたいと思っています。
array<System::string> から char**への変換を行いたいと思っています。
void hoge(int argc, char *argv[]);
void wrap(array<System::String^> strArray)
{
int argc = strArray->Length;
char **argv = (char**)malloc(sizeof(char)*argc);
for(int i=0;i<argc;i++)
{
argv[i] = new char[256];
sprintf(argv[i],"%s",strArray[i]);
}
hoge(argc,argv);
}
こんな感じでhoge()のargc,argv引数を作りたいんですが、
sprintfの時点でargvが全部書き変わってしまいます。
ポインタの使いかたおかしいんでしょうか?
間違いないしエレガントな方法ありましたら指摘してください。
よろしくお願いいたします
■ このスレッドは過去ログ倉庫に格納されています