gpt4 book ai didi

qt - QProcess::setStandardOutputFile 仅创建 0kb 文件

转载 作者:行者123 更新时间:2023-12-02 19:17:25 24 4
gpt4 key购买 nike

我在 WindowsXP 机器上使用简单的 QProcess-Project:

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);

该过程运行良好,ffmpeg 创建了我想要的所有文件。但日志文件完全是空的。当我想在 qDebug() 处写入标准输出时,也会发生同样的情况...为什么会发生这种情况以及如何解决它?

最佳答案

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

我运行 ffmpeg,碰巧它不向标准输出打印任何内容(可能将其保留用于特殊模式,其中打印编码文件),并且所有文本消息都打印到标准错误。所以你应该使用 setStandardErrorFile()函数捕获输出。

关于qt - QProcess::setStandardOutputFile 仅创建 0kb 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1623929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com