在C程序中调用.exe文件

时间:2014-11-08 12:29:00

标签: c exe

我有一个util.exe文件,我想在我的C程序中调用它。我的utils.exe文件也有两个值作为参数。 任何人都可以建议怎么做吗?

2 个答案:

答案 0 :(得分:1)

您可以使用system()功能,您必须在程序中加入stdlib.h。由于你在Windows上,你可以使用

system("myfile.exe");

在您的计划中打开myfile.exe。请注意,如果myfile.exe不在您的计划目录中,那么您必须提供system的完整路径,如下所示:

system("C:\\folder\\myfile.exe");

答案 1 :(得分:1)

您可以构建一个完整的命令行,例如

 char cmdbuf[80];
 snprintf (cmdbuf, sizeof(cmdbuf), "somefile.exe %d %d", i+j, i*j);

(实际上,您应该测试snprintf的结果,并确保它小于sizeof(cmdbuf) ....)

然后将其传递给system(请仔细阅读 操作系统提供的 system函数的文档。

 int retcod = system(cmdbuf);

code injection要非常小心;您可能应引用或转义或清理或验证在命令行上传递的任何参数(进入cmdbuf)。这非常operating systemcommand shell具体。