-2
CMD cointaning gapからどのようにパスを取得できますか?ここで私は成功せずにしようとしたコードです:あなたの問題とは無関係のcmdからC++までのギャップ
if (argv[3] == NULL) {
cout << "" << endl;
}
else if (strcmp(argv[3], "/d") == 0) {
const size_t cSize = strlen(argv[4]) + 1;
wchar_t* wc = new wchar_t[cSize];
mbstowcs(wc, argv[4], cSize);
adresar = wc;
cout << "/d OK" << endl;
}
は、私はあなたがある*少なくとも3つのまたは4つの引数が*を確認するために、 'argc'を確認すると仮定しますか?何もない(例えば)なら、 'argv [3]'は範囲外です。あなたは*未定義の動作*を持つでしょう。 –
あなたの問題に関連して、* spaces *を含む引数を渡したい場合は二重引用符で囲みます。 'mycommand argv1 argv2/d" argv4のようにスペースを入れてください " –
これはいくつかのディレクトリへのパスです。二重引用符で囲んだ場合はうまく動作しません。私はUTFコーディングについて読んでいますが、コード。 例: "C:プロジェクト\ ConsoleApplication1 \ ConsoleApplication1 \ Visual Studioの2017 \ XXX \ドキュメント\ \ユーザーが" –