我需要调用一堆* .exe这样我调用一个记事本文件,其中存储了所有* .exe的所有完整路径,并使用该记事本文件(可以编辑)我想要创建一个父exe,它调用一个列表,其中存在所有子* .exe的路径
另外, 我需要发起呼叫所有* .exe的“一起”而不是“一个接一个”。我希望同时调用所有exe,而不是顺序调用。
提前致谢。
我知道关于系统调用的这么多编码:
#include<stdlib.h>
char * command;
sprintf_s("d:\\....path..%d.\\..%d",n,ctr);
system(command);
答案 0 :(得分:1)
答案 1 :(得分:1)
请勿在C ++中使用sprint_s
(或其他格式字符串系列)。
但是:您的一个错误出现在sprintf_s
的参数中:
int sprintf_s(
char *buffer,
size_t sizeOfBuffer,
const char *format [,
argument] ...
);
Microsoft的例子:
// crt_sprintf_s.c
// This program uses sprintf_s to format various
// data and place them in the string named buffer.
//
#include <stdio.h>
int main( void )
{
char buffer[200], s[] = "computer", c = 'l';
int i = 35, j;
float fp = 1.7320534f;
// Format and print various data:
j = sprintf_s( buffer, 200, " String: %s\n", s );
j += sprintf_s( buffer + j, 200 - j, " Character: %c\n", c );
j += sprintf_s( buffer + j, 200 - j, " Integer: %d\n", i );
j += sprintf_s( buffer + j, 200 - j, " Real: %f\n", fp );
printf_s( "Output:\n%s\ncharacter count = %d\n", buffer, j );
}
另请注意,这是Microsoft扩展。使用不同的编译器编译相同的程序可能会失败。
但严重的是,不要使用它们,只需这样做:
std::stringstream ss;
ss << "d:/foobar.exe " << arg1 << ' ' << arg2;
const std::string command = ss.str();
更严肃的说明:获得一本好的C ++入门书,当你的仓库中有C ++时,不要编写C程序。