简体   繁体   中英

How to get the output of system() command qt c++?

I want to get the output of this command for example :

system("dir C:\");

or of :

QProcess::execute("cmd /c dir C:\");

How to do that ?

Thanks !

QProcess process;
process.start("cmd /c dir C:\\");
process.waitForFinished(-1);
QByteArray out = process.readAllStandardOutput();

You can modify the standard output path to be a pipe which you read from, but it would be easier to use popen() instead of system() .

Since you appear to be using Windows, you would use _popen() .

#include <stdio.h>

....

FILE *fp = _popen("dir c:\", "r");
....
while (!feof(fp)) {
    ....
}
fclose(fp);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM