C++新手,最近开始学习C++,遇到一个问题,就是怎么用system带参数调用一个exe程序,并且把结果输出到文件里面,试过好几种办法都达不到效果,后来发现自己想复杂了,好不容易找到一个解决方案,所以赶紧记录下来:
首先写一个Demo.exe,在命令行输入Demo.exe para1 para2,输出para1和para2两个字符串,其代码如下:
int main(int argc, char *argv[])
{
std::cout<< argv[0] << argv[1]<< argv[2] <<std::endl;
return 0;
}
然后使用system函数,带参数调用Demo.exe,并把内容输出到文件,代码如下:
int main()
{
char s[1000];
//这里的参数是给argv的,注意保存文件路劲有空格需要用双引(\")号括起来
sprintf_s(s,"%s %s %s %s","C:\\Demo\\Demo.exe","Para1","Para2",">>\"../Demo/Save Result.txt\"");
//这里如果是不带参数的exe,则直接用system("C:\\Demo\\Demo.exe")
system(s);
return 0;
}