2

我正在编写一个 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)了,但没有效果。

4

1 回答 1

0

我是个傻瓜。我在 fclose 之前调用了 fflush,但是在调用这些函数之前该函数正在返回。

于 2013-01-05T11:36:15.387 回答