Я хочу использовать командную строку (CMD.exe) для выполнения функции (например, «DIR»; CD ect.) И считывать результат. Я попробовал его с POPEN, но проблема в том, что я могу выполнить только 1 заказ. Что-то вродеC++ Выполнить командную строку и получить результат
cd ..
dir
не работал бы в пути, что я могу это сделать.
Вот мой «поддельный код», как я хочу сделать это
Get Order from USER
Execute in Commandline
Print out the Result
Jump to start
Я сделал это так. Objekt "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");
}
Надежда Youre в состоянии понять мою проблему, мой английский разве что хорошо: $
Спасибо!
Затем положить все в CMD-файл или .bat, и выполнить это. – OldProgrammer
не будет работать для моей программы. – Maik