我正在编写一个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)
,但没有效果。
答案 0 :(得分:0)
我是个笨蛋。我在fclose之前调用了fflush,但函数在调用这些函数之前就已经返回了。