c++ 用system函数执行文件,并且要传入参数的问题!
我想用system打开一个文件,如下system("java-jarxxx.jard:\xx\xx\2");其中xxx.jar需要两个要传入的两个参数是地址以及一个数字。...
我想用system打开一个文件,如下
system("java -jar xxx.jar d:\xx\xx\ 2");其中xxx.jar需要两个要传入的两个参数是地址以及一个数字。我如此输入可以成功打开xxx.jar
但我如果这样写:
string add="d:\xx\xx\";
int nombre = 2;
system("java -jar xxx.jar add nombre");
那么就只会把add和nombre当成一组字符串输给xxx.jar, 而不是把他们当成一个变量。
这个问题该如何解决呢,应为nombre和add都需要手动输入的?这样吧他们的值传给xxx.jar? 展开
system("java -jar xxx.jar d:\xx\xx\ 2");其中xxx.jar需要两个要传入的两个参数是地址以及一个数字。我如此输入可以成功打开xxx.jar
但我如果这样写:
string add="d:\xx\xx\";
int nombre = 2;
system("java -jar xxx.jar add nombre");
那么就只会把add和nombre当成一组字符串输给xxx.jar, 而不是把他们当成一个变量。
这个问题该如何解决呢,应为nombre和add都需要手动输入的?这样吧他们的值传给xxx.jar? 展开
展开全部
nombre和add 手动输入之后 再将这两个参数拼成"java -jar xxx.jar d:\xx\xx\ 2" 这样的字符串
因为 system 只接受一个参数 参数类型是const char* 字符串类型。。
因为 system 只接受一个参数 参数类型是const char* 字符串类型。。
追问
恩,我也问了下貌似是这样子的。别人告诉我这么写: chain="java -jar xxx.jar" + " " + add + " " + nombre; 把他们何在一起,但是好像不对。正确的应该怎么合并?网上找了下,也没确切的答案?
追答
额。。。这个。。 string 我没用过。。。不过可以给你个char的例子试一下
char szCMD[256] = {0};
sprintf(szCMD, "%s %s %d", "java -jar xxx.jar", add, nombre);
你add也用char数组 这样szCMD 里的格式就是你要的了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询