linux c语言  open 获得当前指针位置

linux c语言  open 获得当前指针位置
//lseek的值就是指针位置 啊..................
off_t   currpos = lseek(fd, 0, SEEK_CUR);

open与fopen的区别 
前者(open)属于低级IO,后者(fopen)是高级IO。
前者返回一个文件描述符,后者返回一个文件指针。
前者无缓冲,后者有缓冲。
前者与 read, write,lseek 等配合使用,
备注:(lseek等同于fseek+ftell 等同于windos-c的open+tell ) 
后者与 fread, fwrite,fseek,ftell等配合使用。
后者是在前者的基础上扩充而来的,在大多数情况下,用后者。
fopen() 是 C 标准库中的函数,而 open() 是 Linux 中的系统调用函数。

下面是新手的我刚刚踩过的坑  这个open 纠结了好久,希望新学c的小伙伴在用open时不要在踩这个坑了 


在linux操作系统下,使用C语言编程,想要获得文件的长度
首先用open函数打开二进制文件,用lseek函数将文件指针移到文件结尾,然后用tell函数返回文件指针相对于文件头的偏移量,这样就可以获得文件的长度
但是用gcc编译时,提示找不到io.h文件,我在/usr/inlcude下寻找也是找不到,在asm/io.h下找到的io.h文件,打开一看,里面并没有tell函数的声明,请问到哪里可以找到我要的io.h文件?


|

取位置,应该是ftell吧,在#include 


|

tell是TC下的, 那是基于DOS系统的接口.
linux下是ftell


|

楼上的楼上的对

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值