include<stdio.h>
include<stdlib.h>
int main()
{
char a[20]="hello world";
system("./cool.bat a");\\here I need to pass the array as argument to batch file
}
我相信你得到了我想说的话。我想传递一个c程序的数组,作为批处理文件的参数。但如果我说
system("./omnam.bat a") \\ its taking a as an argument
我如何制作它?如何将变量或c程序数组作为参数发送到批处理文件。假设我可能在c程序中有一个整数I,其值为15.如何将它作为参数传递给批处理文件?任何人都可以用一些c文件和批处理文件发布它的例子。谢谢你
答案 0 :(得分:2)
你需要构建一个由batch命令组成的char [],以及传递给它的变量内容
答案 1 :(得分:1)
使用snprintf
在运行时构造字符串:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char a[20]="hello world";
char command[256];
snprintf(command, sizeof(command), "./cool.bat %s", a);
system(command);
return 0;
}
但是,请记住,system
函数非常危险,尤其是在传递非常量字符串时。出于安全考虑,绝对确保不会将任意用户生成的字符串传递给它。
答案 2 :(得分:0)
也许您可以使用标准IO编写批处理文件然后执行它?应该是一样的吗?