>第 28 章 文件与I/O>open/close

langram langram@126.com
2009-08-29 19:31:56

flags参数有一系列常数值可供选择,可以同时选择多个常数用按位或运算符连接起来,所以这些常数的宏定义都以O_开头,表示or。

========================================
不了解这些宏定义的起名缘由,不过个人直觉这个O,应该是option的缩写吧?


Louis alzl333@sina.com
2010-10-15 10:28:09

我们可以把Shell进程的umask改成0,再重复上述实验:
$ umask 0
$ touch file123
$ rm file123 a.out
$ touch file123
...
---------
第二行$ touch file123应该删去。


宋劲杉 songjinshan@akaedu.org
2010-12-04 22:04:20

谢谢指出


海 j_kylin@qq.com
2011-01-28 21:18:24

文中有好几处的0666都错写成了0664


rusty angle0072008@gmail.com
2011-04-10 13:21:45

可以利用这一点在标准输入、标准输出或标准错误输出上打开一个新文件,实现重定向的功能。例如,首先调用close关闭文件描述符1,然后调用open打开一个常规文件,则一定会返回文件描述符1,这时候标准输出就不再是终端,而是一个常规文件了,再调用printf就不会打印到屏幕上,而是写到这个文件中了。

这个具体怎么实现?实验了很多次文件内容都是空的。


马中斌 mazhongbin@yeah.net
2011-06-27 00:05:13

可以在这里或者后面讲内核数据结构的时候强调下文件描述符和FILE指针(句柄)的区别和联系


如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!