3.10 思考与练习
打开文件时,如果希望总是创建一个新文件,应当使用什么标志?如果希望每次写出的数据都实际写到物理存储设备,应当使用什么标志?程序3-1中,存放读写数据的缓冲区大小为1024字节。请在你的机器上指定不同大小的缓冲区来运行这个程序,仔细体会缓冲区大小对程序效率的影响。open()调用成功总是返回当前可用的编号 的描述字。对同一个文件用不同open()打开的文件描述字具有 的文件位置,由dup()重复的文件描述字具有 的文件位置。编写一个程序打印出指定文件的文件状态标签。用fcntl()设置文件状态标签时,为什么只能设置O_APPEND和O_NONBLOCK而不能设置其他标志?什么是所谓的“慢系统调用”?如何实现非阻塞I/O?请给出一个需要使用非阻塞I/O的应用例子。
相关资源:《UNIXLinux程序设计教程》(书号:40389)源代码