1

これは明白な答えかもしれませんが、私はC++の経験がほとんどありません。ファイルを実行できるように、ファイルの場所をシステムに渡そうとしています。

使用しているコード:

        char test[20] = "C:\\";

        system("PAUSE & cd "+test[]+" & ping.text & PAUSE");

これは機能していません。これは私が実際にJavaで物事を行う方法です。そのシステム文字列に文字配列テストを組み込むにはどうすればよいですか?どんな助けでも、可能な解決策へのリンクでさえ、大きな助けになるでしょう。

4

2 に答える 2

1

生の文字列を。と連結することはできません+std::string代わりに使用してください:

std::string test = "C:\\";
std::string command = "PAUSE & cd " + test + " & ping.text & PAUSE";
system(command.c_str());

にを渡すときは、生の文字列が必要なstd::stringためsystem、を呼び出す必要があるc_str()ことに注意してください。system()

于 2012-05-28T08:44:09.297 に答える
0

私は次のコードを使用してこの問題を解決することができました:

        char testing[500];  // create char array
        strcpy (testing, "PAUSE & cd "); // copy the string into the char array
        strcat (testing, test); 
        strcat (testing, " & ping.text & PAUSE");
        system(testing);

私はC++に比較的慣れていないので、これが物事を進めるための「最良の」方法であるかどうかはわかりませんが、コードは問題なく正しく機能しました。このソリューションに追加する情報があれば、この回答を更新します。

于 2012-05-28T09:24:03.753 に答える