Qt QProcess::setStandardOutputFile仅创建0kb文件

Qt QProcess::setStandardOutputFile仅创建0kb文件,qt,qt4,stdout,qprocess,Qt,Qt4,Stdout,Qprocess,我正在WindowsXP计算机上使用一个简单的QProcess项目: QString program = "U:\\ffmpeg.exe"; QStringList arguments; arguments << "-i" << "U:\\clock.avi" << "U:\\tmp_jpeg\\foo-%03d.jpeg"; process.setStandardOutputFile("U:\\log.txt", QIODevice::Append); p

我正在WindowsXP计算机上使用一个简单的QProcess项目:

QString program = "U:\\ffmpeg.exe";
QStringList arguments;
arguments << "-i" << "U:\\clock.avi" << "U:\\tmp_jpeg\\foo-%03d.jpeg";

process.setStandardOutputFile("U:\\log.txt", QIODevice::Append);
process.start(program, arguments);
QString程序=“U:\\ffmpeg.exe”;
QStringList参数;

参数发生这种情况是因为通常将打印处理为两个文件:“标准输出”文件和“标准错误”文件。程序员可以手动决定输出到哪个文件(通过
std::cout
std::cerr
访问)。经验法则是打印程序的实际结果,并打印错误、诊断等

我运行了ffmpeg,碰巧它没有向stdout打印任何内容(可能保留为特殊模式,编码文件在那里打印),所有文本消息都打印到stderr。所以您应该使用函数来捕获输出