• 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard ELF 1板卡-通用文件I/O模型之lseek

2024/10/15
442
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

lseek()函数用于重新定位读/写文件偏移量,默认打开一个文件时,除非指定O_APPEND,否则偏移量为0,并不适合所有文件,如管道、FIFO或网络套接字或终端。函数原型如下:

fd为文件描述符,用于指定要写入的文件;

offset表示偏移量,表示要移动的字节数,可以为正数、负数、零;

whence指定偏移的基准点,有三组值:

若whence为SEEK_SET,表示从文件开始处偏移;

若whence为SEEK_CUR,表示从当前位置偏移;

若whence为SEEK_END,表示从文件结尾处偏移;

如果文件描述符指向一个管道、FIFO或网络套接字,返回-1,且errno为ESPIPE;

测试lseek的返回值时需要谨慎,不要测试是否小于0,要测试是否等于-1;

lseek仅将文件偏移量记录到内核,不引起任何IO操作,该偏移量用于下一次读写;

文件偏移量可以大于文件长度,对文件下一次的写操作将加长该文件并构成一个空洞(文件大小一样,但是占用的磁盘块不一样),没写过的字节被读为0;

飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐