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::stringto时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 回答