c语言内文件的使用

 

流的介绍

 相关函数使用

1.fopen函数 

功能:打开文件

函数原型

(文件名,打开文件的方式)

FILE *fopen(const char *filename, const char *mode);`

返回值

返回指向该文件的函数指针,如果打开文件失败,则返回NULL

 2.fclose函数

功能:关闭文件

函数原型

参数为指向该文件的指针

int fclose(FILE* stream)

返回值

返回int

3.fgetc函数

功能:读取单个字符串

返回值为int

 fgetc和scanf不同,且fgetc一次只能读取一个字符

 

4.fgets函数

功能:读取字符串

可以读取字符串,返回值为char*

char* string代表要保存到的内存空间的首地址,可以是字符数组名,也可以是指向字符数组名的指针变量名。

n - 1 代表的是实际读取字符串的长度

stream 表示从何种流中读取,可以是标准输入流 stdin,也可以是文件流。

5.fseek函数

功能:重定位流上的文件指针

会偏移offset个字节,

如果执行成功,则返回0,改变指针指向位置

如果执行失败(如超出文件自身大小),则返回其他值,不改变指针位置

 6.ftell函数

功能:返回文件指针相对于起始位置的偏移量

函数原型

long ftell(FILE *stream)

通过ftell计算文件大小:

 打开文件后 , 直接使用 fseek 跳转到文件末尾 , 然后使用 ftell 获取当前指针 , 打印出指针位置 , 即可获取文件大小

7.fwrite函数

功能:写文本到文件里

函数原型

size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

参数说明 :

const void *ptr : 指针指向要写出数据的内存首地址 ;

size_t size : 要写出数据的 基本单元 的字节大小 , 写出单位的大小 ;

size_t nmemb : 要写出数据的 基本单元 的个数 ;

FILE *stream : 打开的文件指针 ;


返回值 : size_t 返回值返回的是实际写出到文件的 基本单元 个数 ;

8.rewind函数

9.fread函数

功能:从文件中读取若干字节数据到内存缓冲区中 

函数原型

size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

 

void *buffer 参数 : 将文件中的二进制数据读取到该缓冲区中 ;

size_t size 参数 : 读取的 基本单元 字节大小 , 单位是字节 , 一般是 buffer 缓冲的单位大小 ;

如果 buffer 缓冲区是 char 数组 , 则该参数的值是 sizeof(char) ;
如果 buffer 缓冲区是 int 数组 , 则该参数的值是 sizeof(int) ;
size_t count 参数 : 读取的 基本单元 个数 ;

FILE *stream 参数 : 文件指针 ;

10.文本文件和二进制文件

 

 

 "wb"是以二进制读取,故后来的fwrite是以二进制的形式写到文件中

以十六进制显示     

 

11.feof函数

 

 

 

12.缓冲区

注:例如飞机大战里的双缓冲绘图

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值