这可能是一个显而易见的答案,但我对 C++ 几乎没有经验。我正在尝试将文件的位置传递给系统,以便它运行它。
我使用的代码:
char test[20] = "C:\\";
system("PAUSE & cd "+test[]+" & ping.text & PAUSE");
这是行不通的。这就是我在java中做事的方式。我将如何将字符数组测试放入该系统字符串?任何帮助甚至是可能的解决方案的链接都会有很大的帮助。
这可能是一个显而易见的答案,但我对 C++ 几乎没有经验。我正在尝试将文件的位置传递给系统,以便它运行它。
我使用的代码:
char test[20] = "C:\\";
system("PAUSE & cd "+test[]+" & ping.text & PAUSE");
这是行不通的。这就是我在java中做事的方式。我将如何将字符数组测试放入该系统字符串?任何帮助甚至是可能的解决方案的链接都会有很大的帮助。
原始字符串不能与. 连接+
。改用std::string
:
std::string test = "C:\\";
std::string command = "PAUSE & cd " + test + " & ping.text & PAUSE";
system(command.c_str());
请注意,在传递std::string
to时system
,您需要调用c_str()
,因为system()
需要一个原始字符串。
我已经设法使用以下代码解决了这个问题:
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++ 相对缺乏经验,我不确定这是否是处理事情的“最佳”方式,但它让我的代码正常工作而没有问题。如果有人有任何信息要添加到此解决方案中,我将更新此答案。