我想使用命令行(CMD.exe)执行一个函数(如“DIR”; CD等)并读出结果。我用POPEN试了一下,但问题是,我只能执行1个命令。 像C++执行命令行并得到结果
cd ..
dir
wouldnt工作的方式,我这样做。
这里是我的“假代码”,我要怎么做,
Get Order from USER
Execute in Commandline
Print out the Result
Jump to start
我做的那样。对象“S”是我的套接字类的一部分。
while (1)
{
//GET THE ORDER
std::string r = s->ReceiveLine();
if (r.empty()) break;
cout<<r<<endl;
//EXECUTE THE ORDER
FILE *fp = popen(r.c_str(),"r");
char buf[2560];
//READ THE RESULT AND SEND TO USER
while (fgets(buf, 2560, fp))
{
s->SendBytes(buf);
}
s->SendLine("123++END");
}
希望您选择能理解我的问题,我的心不是英语的好:$
谢谢!
然后把一切都放在一个.cmd或.bat文件,并执行。 – OldProgrammer
不适用于我的程序。 – Maik