标签:for com while nice class pop ref ons pen
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
string cmdinput;
string GetStdoutFromCommand(string cmd) {
string data;
FILE * stream;
const int max_buffer = 256;
char buffer[max_buffer];
cmd.append(" 2>&1");
stream = popen(cmd.c_str(), "r");
if (stream) {
while (!feof(stream))
if (fgets(buffer, max_buffer, stream) != NULL) data.append(buffer);
pclose(stream);
}
return data;
}
int main (){
cout << "Enter your command:" << endl;
string cmdinput;
getline (cin, cmdinput);
cout << "Your command was ‘" << cmdinput << "‘" << endl;
string com = GetStdoutFromCommand(cmdinput);
cout << "Command: " << com << endl;
return 0;
}
in this way you can easy get the output string of your input command in C++
refer to http://www.cplusplus.com/forum/unices/144187/
标签:for com while nice class pop ref ons pen
原文地址:http://www.cnblogs.com/hhbeast/p/7736435.html