繁体   English   中英

C ++将变量传递给System()WINAPI(无MFC)

[英]C++ Passing variables to System() WINAPI ( No MFC)

这可能是一个显而易见的答案,但是我对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传递给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 ++相对缺乏经验,因此我不确定这是否是解决问题的“最佳”方法,但是它可以使我的代码正常工作而不会出现问题。 如果有人有任何信息要添加到此解决方案中,我将更新此答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM