文件的使用

1.文件

1.文件可分为程序文件和数据文件

程序文件:源程序文件.c,目标文件 .obj,可执行程序文件.exe
数据文件:被其他文件引用的文件或数据

2.文件的开辟会在程序缓冲区中创建一个文件信息区

这个文件信息区的类型FILE,里面存储文件的地址,名字,大小等信息
FILE是一个结构体类型

2 函数

1.fopen

stdlib.h

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

filename是文件名,mode是打开方式
文件名是由路径,名字,后缀构成的,有时没后缀
路径:相对路径,绝对路径
相对路径:从哪个盘一直到文件的全部路径
绝对路径:如果代码文件和打开文件在相同路径便可以直接写他的名字
. .//是返回该代码文件上一个文件夹路径。
mode
r读取 ,w写入,a文件末尾添加
如果是读取,没有找到此文件返回null
如果是写入,没有找到文件便会创造一个文件,文件末尾添加也是
但是写入会把该文件内容清空再写入

2.fclose

stdlib.h

int fclose(FILE *stream)

成功返回0,否则EOF

3.流

stream
当通过c语言程序把内存中的数据输入或输出给别的对象,需要通过流才可以输入输出,流的类型是FILE*
当程序打开默认给三个流
stdin 标准输入流,键盘(scanf便用的是这个默认的输入流)
stdout标准输出流,屏幕(printf便用默认输出流)
stderr 标准错误流

4. 支持所有输入流输出流的函数

stdlib.h,以下这些函数的流可以选择

字符

fgetc

int fgetc(FILE *stream);

从文件中获取一个字符,返回值是该字符askii码值
返回EOF读取失败

fputc

char* fgetc(char c,FILE *stream);

把字符输出给流的对象

字符串

fgets

int fgets(char*num,size_t count,FILE *stream)

num是从内存中接受数据的字符串,count是接受几个字符,stream是存入对象的流
count会比实际接受的少一个元素,因为最后一个要给’\0’,就像count是5,实际num接受是4个字符,如果count比文件指向的这一行所有元素都要多,那么只给这一行的字符

fputs

int fputs(char*num,FILE *stream)

把num里的元素传到这个源的对象里

格式化输入输出

fprintf

int fprintf(FILE* stream,char* num...)

stream是输出的对象的源,剩下的就跟普通printf用法一样,只不过printf的对象是屏幕,这个可以选择输出的对象

fscanf

int fscanf(FILE* stream,char* num...)

stream是输入的对象的源,用法也跟scanf一样,只不过对象会不同

5.只针对文件的输入输出函数

这些都是将二进制数据输入或输出到文件

fride

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

ptr是要从该文件获得数据的那个变量类型数组
size是ptr每个元素所占字节
nmemb是要录入多少个元素
stream必须是文件的流

fwrite

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

原理同fride,这个是输入到文件

拓展

#include

sprintf

int sprintf( char *buffer, const char *format [, argument] ... );

将·format输入到buffer字符串

sscanf

int sscanf( const char *buffer, char *format [, argument] ... );

将buffer的内容输出到按format格式输入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值