新手问个fopen()返回值得问题

th0530018 2011-08-13 09:03:11
fd = open("/tmp/hello.c", O_CREAT | O_TRUNC | O_RDWR,0666 )

这句中最后得出open的返回值为3,为什么是3?请问3有什么特别意义?

谢谢!
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
th0530018 2011-08-14
  • 打赏
  • 举报
回复
谢谢各位大侠!!
bjtea 2011-08-13
  • 打赏
  • 举报
回复
fd是代表进程打开的文件的编号,相当于是系统分配一个号码来标识这个文件,编号不能重复。
由于一般的进程都已经存在有打开的:0(标准输入)、1(标准输出)、2(标准错误)。所以,open返回的是空闲的最小的号码:3.
帅得不敢出门 2011-08-13
  • 打赏
  • 举报
回复
open 和 creat 都 返回 一个 新的 文件描述符 (若是 有 错误 发生 返回 -1
cqbamboo 2011-08-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bjtea 的回复:]

fd是代表进程打开的文件的编号,相当于是系统分配一个号码来标识这个文件,编号不能重复。
由于一般的进程都已经存在有打开的:0(标准输入)、1(标准输出)、2(标准错误)。所以,open返回的是空闲的最小的号码:3.
[/Quote]
+1

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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