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

【摘要】 linux c语言  open 获得当前指针位置 //lseek的值就是指针位置 啊……………… off_t   currpos = lseek(fd, 0, SEEK_CUR);
open与fopen的区别  前者(open)属于低级IO,后者(fopen)是高级IO。 前者返回一个文件描述符,后者返回一个文件指针。 前者无缓冲,后者有缓冲。 前者…

linux c语言 open 获得当前指针位置
//lseek的值就是指针位置 啊………………
off_tcurrpos = 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

|

楼上的楼上的对

文章来源: blog.csdn.net,作者:qq_41870875,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_41870875/article/details/116358655

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享