一、前言
程序运行时,数据存放在内存中,而当程序退出后,数据也就不复存在。
想做到数据持久化,我们可以把数据存放在硬盘,或者放到数据库里。而在C语言中,利用文件操作,就可以将数据存放在硬盘上。
二、文件的打开和关闭
读写之前应该先打开文件,使用结束之后要关闭文件。
1. fopen函数
FILE * fopen ( const char * filename, const char * mode );
-
fopen
函数用于打开文件。 -
filename
是要打开的文件名,mode
是文件的使用方式。 -
FILE
是描述文件信息的结构体类型,在头文件stdio.h
中定义 - 打开文件后,函数返回
FILE*
类型的文件指针。
需要注意,在字符串中表示\
时,必须使用转义字符\\
。
所以filename
应该如下图所示:
文件名由文件路径、文件名主干和文件后缀三个部分组成。
例如E:\test.txt
:
-
E:\
是文件路径 -
test
是文件名主干 -
.txt
是文件后缀
如果filename
中省略文件路径,只写文件名主干和文件后缀的话,文件会默认保存在本工程的目录下。
文件的使用方式有以下这些:
文本文件是指以ASCII码形式存储的文件,每个字符占1个字节。
- 如10000这个数据以文本文件形式存储,那么每个数字看作一个字符,总共占5个字节。
二进制文件是指数据以二进制形式存储的文件。
- 如10000这个数据以二进制文件形式存储,那么只需将10000转换成二进制存入内存中就行了。
2. fclose函数
int fclose ( FILE * stream );
-
fclose
函数用于关闭文件。 -
stream
是要关闭的文件的文件指针。 -
fclose
函数关闭文件后不会置空文件指针,需手动置空。
三、文件的顺序读写
C语言提供了一系列文件输入输出函数。
注意,这里的输入是从文件中读内容,输出是往文件里写内容。文章来源:https://www.toymoban.com/news/detail-446412.html
每个函数的具体用法可以查阅文档学习。文章来源地址https://www.toymoban.com/news/detail-446412.html
四、文件的随机读写
1. fseek函数
int fseek ( FILE * stream, long int offset, int origin );
- 文件在读写时,文件指针指向的位置是会随着读写而改变的。
-
fseek
函数可以用于将文件指针定位到我们想要的位置。 -
stream
是文件指针,offset
是我们想要设置的文件指针的偏移量。 -
origin
是从哪里开始偏移,我们可以设置为SEEK_SET
(文件起始位置)、SEEK_CUR
(文件指针当前位置)、SEEK_END
(末尾)。
2. ftell函数
long int ftell ( FILE * stream );
- 该函数用于返回文件指针相对于起始位置的偏移量。
- 我们可以利用
ftell
函数来获取文件指针当前的位置。
3. fwind函数
void rewind ( FILE * stream );
- 该函数用于让文件指针回到文件的起始位置。
到了这里,关于【C语言】手把手教你文件操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!