我试着做一个c++程序,打开一些其他程序(使用cmd)。代码:
int main(){
int i=0,t;
string progs[100];
fstream db("db.txt",ios::in);
while(getline(db,progs[i++])) {}
for(t=0;t<i-1;t++) {
string open="start "+progs[t];
system(open.c_str());
}
system("pause");
return 0;
}
程序位于桌面上,并工作良好的所有文件。问题是它不能打开一个名为KBot.exe的程序(它说这个程序不存在)。例如,我在db.txt中这样写:
patch.exe
KBot.exe
Shutdown + tasks.exe
所有三个都位于桌面上,但程序只打开第一个和最后一个。是的,程序名写得很正确。是什么原因造成的?
- 您的循环错误:
s/b (t=0;t<i;t++)
-
patch.exe
和关机可能在您的$PATH
,KBot
不是。