APUE习题:以O_APPEND标志open的文件,lseek后读写问题
来源:互联网 发布:mysql跨ip访问数据库 编辑:程序博客网 时间:2024/05/17 04:20
O_APPEND的含义是在每次写之前,都讲标志位移动到文件的末端。表面上读这句话可能会有误解。
提出一个问题:当在O_APPEND打开后,然后用 lseek移动到其他的位置,然后再用write写,这个时候,请问你数据写到哪里去了?
是在末端,还是lseek移动到得位置。答案是在末端。
因为 O_APPEND打开后,是一个原子操作:移动到末端,写数据。这是O_APPEND打开的作用。中间的插入时无效的。例如
buf的内容会插入test文件的末尾,之前的lseek是无效的。
而对于read,可以读出lseek后的数据,lseek对read有效,如下代码所示:
屏幕会输出test文件开头的几个字符。
- APUE习题:以O_APPEND标志open的文件,lseek后读写问题
- APUE-文件与目录:以O_APPEND标志open的文件,lseek后读写问题
- 用O_APPEND标志open一个文件,能否用lseek在任意位置读写
- 在使用O_APPEND 标志并以写打开一个已存在的文件,然后用lseek函数将偏移置于开头,在写入数据,写入的数据会显示在那个位置呢???
- 如果使用追加标志O_APPEND打开一个文件以便读、写,能否仍能用lseek在任一位置开始读? 能否用lseek更新文件中任一部分的数据?
- 关于打开文件时O_APPEND标志的作用
- lseek的与O_APPEND的冲突
- 文件I/O操作之open 的O_APPEND参数
- open函数O_APPEND的含义
- APUE习题4.6---测试lseek作用
- apue读书笔记【六】:文件IO(2) lseek
- fopen()函数以"a+"方式打开一个不存在的文件后读写出现问题
- if use open() open a file with flags O_APPEND,you may not reset the filesize with lseek()+write().
- C语言lseek()函数:移动文件的读写位置
- APUE-3.4 对于指定的描述符打印文件标志
- open函数中关于O_APPEND偏移量问题
- APUE头文件的问题
- 3.6 lseek函数-文件读写定位
- PowerShell Search and Close Servers Session Automaticlly
- 移植Android图形引擎库Skia到Windows的经验之一/之二
- (转)wince 键 模拟
- TabActivity,LocalActivityManager,TabHost,TabWidget深度分析(一)
- PPT高级教程及技巧
- APUE习题:以O_APPEND标志open的文件,lseek后读写问题
- jquery实现简单播放图片功能
- Vim 命令笔记
- logger.debug
- BomGroupServiceImpl
- 命令行输入数字,用空格分隔并输出和
- Android Graphic(应用程序层): Skia/OpenGL|ES
- SQL Server vs Oracle vs DB2
- VS2008无法下断点调试的若干解决办法