我的应用程序已退出,因为它占用了太多文件描述符。所以我使用gdb来调试我的程序。当我使用fflush函数时,我发现文件描述符数量增加了。
例如:
// before fflush
// ll /proc/13593/fd/* | grep "send\.dat" | wc -l
// 7
fflush(pFile);
// after fflush
// ll /proc/13593/fd/* | grep "send\.dat" | wc -l
// 8
进程ID为13593.变量pFile指向文件send.dat。
有人可以告诉我原因吗?非常感谢。
答案 0 :(得分:0)
fflush
不会创建新的文件描述符。
您可能会继续重新打开该文件,但忘记关闭它。