我正在编写一个 Qt GUI 应用程序(用于进行 XSL 转换)。要将错误消息打印到文件中,我正在使用如下调用:
freopen("my-error-file.txt", "w", stderr);
// call to libxslt function, which possibly prints to stderr
fclose(stderr);
我遇到的问题是,虽然 my-error-file.txt 是立即创建的,但它没有任何内容。当我关闭应用程序时,错误内容将写入文件。我认为这是正确的行为,但我真正想要的行为是 my-error-file.txt 写入并立即关闭,无论 GUI 窗口是否关闭。
我错过了函数调用吗?
我试过fflush(stderr)
了,但没有效果。