c语言的文件存取方式只能是顺序存取?

互联网 19-10-28

c语言的文件存取方式只能是顺序存取?

c语言的文件存取方式包括顺序存取方式和随机存取(需要使用fseek等函数帮助)方式两种。

顺序读取

顺序读取也就是从上往下,一笔一笔读取文件的内容。保存数据时,将数据附加在文件的末尾。这种存取方式常用于文本文件,而被存取的文件则称为顺序文件。

随机存取

随机存取方式多半以二进制文件为主。它会以一个完整的单位来进行数据的读取和写入,通常以结构为单位。

打开文件

函数原型为:_CRTIMP FILE * __cdecl fopen(const char *, const char *);

第一参数为文件名,第二个参数为打开模式。

打开成功,fopen返回一个结构指针地址,否则返回一个NULL。如果没有指定文件路径,则默认为当前工作目录。如:

FILE *fp; fp = fopen("c:\\temp\\test.txt", "r") //由于反斜杠\是控制字符,所以必须再加一个反斜杠

使用fopen()函数打开的文件会先将文件复制到缓冲区。注意:所下达的读取或写入动作,都是针对缓冲区进行存取而不是磁盘,只有当使用fclose()函数关闭文件时,缓冲区中的数据才会写入磁盘。

文件打开模式

"r":只能从文件中读数据,该文件必须先存在,否则打开失败 "w":只能向文件写数据,若指定的文件不存在则创建它,如果存在则先删除它再重建一个新文件 "a":向文件增加新数据(不删除原有数据),若文件不存在则打开失败,打开时位置指针移到文件末尾 "r+":可读/写数据,该文件必须先存在,否则打开失败 "w+":可读/写数据,用该模式打开新建一个文件,先向该文件写数据,然后可读取该文件中的数据 "a+":可读/写数据,原来的文件不被删去,位置指针移到文件末尾

打开二进制文件的模式与打开文本文件的含义是一样的,不同的是模式名称里面多一个字母'b’,以表示以二进制形式打开文件。

关闭文件

函数原型为:_CRTIMP int __cdecl fclose(FILE *);

关闭成功返回值0,否则返回非零值。

注:在执行完文件的操作后,要进行“关闭文件”操作。虽然程序在结束前会自动关闭所有的打开文件,但文件打开过多会导致系统运行缓慢,这时就要自行手动关闭不再使用的文件,来提高系统整体的执行效率。

例1. 打开文件并进行判断和关闭文件

FILE *fp; fp = fopen("c:\\temp\\test.txt", "r"); if(fp == NULL)     printf("fail to open the file! \n"); else {     printf("The file is open! \n");     fclose(fp); }

推荐课程:C语言教程

以上就是c语言的文件存取方式只能是顺序存取?的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 存取方式
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:c语言打印菱形

相关资讯