导航:首页 > 文件教程 > 文件指针和文件句柄

文件指针和文件句柄

发布时间:2023-03-15 07:18:23

文件指针是什么文件指针的值又是什么

在文件操作系统中,同时打开的文件个数是受限的,因此在操作系统中对于文件的操作专门设置了一个区域,这个区中为每个文件操作开设了一块操作数据区,其中每个区对应一个文件操作,记录文件位置,当前文件指针位置等,如果进行文件操作需要获得系统分配的一块有效的数据区,这个数据区的编号就是文件句柄,在c中是FILE*类型

操作数据区中,有一个文件指针,存放当前可读写文件位置,是一个字节计数值,在打开当前文件后,这个指针指向文件第1个字符,取值是0,那么如果马上读写文件都是从文件第1个字节开始,假定写入或读取了1个字节内容,文件指针在操作完成后自动变为1,指向下一个可操作的位置。文件指针可以顺序后移(增加值)也可以前移(减少值)当然要借助特殊函数。

假定要获取文件尺寸,可以在打开文件后(文件指针内容为0)利用文件指针操作函数(比如feek)令文件指针转到文件尾部,这时文件指针取值就是文件的实际字节数了。

linux 中 open和fopen的区别

Linux中open与fopen区别如下:

1、来源

从来源的角度看,两者能很好地区分开,这也是最显而易见的区别:

①open是Unix系统调用函数,返回的是文件描述符,它是文件在文件描述符表里的索引;

②fopen是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api。返回的是一个指向文件结构的指针。

2、移植性

这一点从上面的来源可以推断出来,fopen是C标准函数,因此拥有良好的移植性,而open是Unix系统调用,移植性有限。如Windows下相似的功能使用API函数CreateFile。

3、适用范围

①open返回文件描述符,而文件描述符是Unix系统下的一个重要概念,Unix下的一切设备都是以文件的形式操作。如网络套接字、硬件设备等。当然包括操作普通正规文件。

②fopen是用来操纵普通正规文件。

4、文件IO层次

如果从文件IO的角度来看,前者属于低级IO函数,后者属于高级IO函数。低级和高级的简单区分标准是:谁离系统内核更近。低级文件IO运行在内核态,高级文件IO运行在用户态。

阅读全文

与文件指针和文件句柄相关的资料

热点内容
maya粒子表达式教程 浏览:84
抖音小视频如何挂app 浏览:283
cad怎么设置替补文件 浏览:790
win10启动文件是空的 浏览:397
jk网站有哪些 浏览:134
学编程和3d哪个更好 浏览:932
win10移动硬盘文件无法打开 浏览:385
文件名是乱码还删不掉 浏览:643
苹果键盘怎么打开任务管理器 浏览:437
手机桌面文件名字大全 浏览:334
tplink默认无线密码是多少 浏览:33
ipaddgm文件 浏览:99
lua语言编程用哪个平台 浏览:272
政采云如何导出pdf投标文件 浏览:529
php获取postjson数据 浏览:551
javatimetask 浏览:16
编程的话要什么证件 浏览:94
钱脉通微信多开 浏览:878
中学生学编程哪个培训机构好 浏览:852
荣耀路由TV设置文件共享错误 浏览:525

友情链接