这可能是一个明显的答案,但我对C ++的经验不多。我试图将文件的位置传递给系统,以便它运行它。
我使用的代码:
char test[20] = "C:\\";
system("PAUSE & cd "+test[]+" & ping.text & PAUSE");
哪个不行。这就是我在java中做的事情。我如何将字符数组测试纳入该系统字符串?任何帮助甚至是可能解决方案的链接都将是一个很大的帮助。
答案 0 :(得分: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()
需要原始字符串。
答案 1 :(得分: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 ++相对缺乏经验,我不确定这是否是“最好”的方法,但它让我的代码正常运行而没有问题。如果有人有任何信息要添加到此解决方案,我将更新此答案。