求大神指教Linux中关于缓冲区的小问题

slyxff 2013-04-02 04:38:47
代码如下:
#include <stdio.h>
int main(void)
{
if(stdin->_flags&_IO_LINE_BUF)
printf("linebuf\n");
else if(stdin->_flags&_IO_FULL_BUF)
printf("fullbuf\n");
return 0;
}
用gcc编译出现错误:‘_IO_FULL_BUF’未声明(在此函数内第一次使用),
可_IO_LINE_BUF却是可以用的,这是什么情况
...全文
125 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ForestDB 2013-04-03
  • 打赏
  • 举报
回复
我的stdio.h中就没有这些宏。
slyxff 2013-04-03
  • 打赏
  • 举报
回复
引用 2 楼 ForestDB 的回复:
也许那个宏并不是public的API。 #define _IOFBF 0 /* setvbuf should set fully buffered */ #define _IOLBF 1 /* setvbuf should set line buffered */ #define _IONBF 2 /* setvbuf should set un……
可是_IO_UNBUFFERED, _IO_LINE_BUF , _IO_FULL_BUF 这三个宏不都是定义在<stdio.h>里面的吗?为什么只有 _IO_FULL_BUF 在编译的时候出现错误呢
ForestDB 2013-04-02
  • 打赏
  • 举报
回复
也许那个宏并不是public的API。 #define _IOFBF 0 /* setvbuf should set fully buffered */ #define _IOLBF 1 /* setvbuf should set line buffered */ #define _IONBF 2 /* setvbuf should set unbuffered */
赵4老师 2013-04-02
  • 打赏
  • 举报
回复
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧