随笔- printf不能打印log信息

来源:互联网 发布:漫威电影顺序 知乎 编辑:程序博客网 时间:2024/05/16 10:18

相信对于很多开发来说,log打印是一个顺手的动作,也是调试程序的基础;

int printf(const char * __restrict, ...) __printflike(1, 2);

结果今天就遇到 printf 不能打印信息。表示有点惊掉了下巴。。。

真相在这里:

(http://bbs.csdn.net/topics/300006379 论坛中4楼这位大哥真相了。果然加了\n就可以!)

大哥回答原话:

我记得printf是行缓冲的。

用fflush(stdout);
或者每个printf打印串都以\n结束。
好像printf不宜做信号处理函数,因为它不是线程安全的。
要是信号来之前刚好进程执行到printf就会发生未知错误。
原创粉丝点击