文件操作(day15)

调用函数可以使用被调用函数动态分配的
   存储区

calloc函数也可以动态分配一组连续的
   存储区
这个函数可以把所有动态分配的存储区
    内容设置成0
为了使用这个函数也需要包含stdlib.h头文件
这个函数需要两个参数,第一个参数表示要
    分配的存储区个数,第二个参数表示单个
    存储区的大小
这个函数的返回值也是分配好的第一个存储区
    的地址
这个函数也可能失败,如果失败则返回NULL

realloc函数可以调整一段动态分配内存中
    的存储区个数
尽量少使用这个函数

所有文件都采用二进制的方式记录数字
如果文件里的所有二进制数据都来自于字符
    则这种文件叫文本文件
文本文件以外的文件都叫做二进制文件

C语言里提供了两种操作文件的方法,一种
    方法只能操作文本文件,另外一种方法
    可以操作所有文件
第一种操作文件的方式叫文本方式,第二种
    操作文件的方式叫二进制方式

文件操作基本步骤
1.打开文件(fopen)
2.操作文件(fread/fwrite)
3.关闭文件(fclose)

fopen函数需要两个参数
1.代表要打开的文件路径
2.代表打开文件的方式(决定
    程序里可以对文件做什么操作)

打开方式有如下选择
"r"     只能察看文件内容不可以修改 
        只能从文件头开始察看
        如果文件不存在则打开会失败
"r+""r"多了修改功能
"w"     只能修改文件内容不能察看
        只能从文件头开始修改
        如果文件不存在就创建文件
        如果文件存在就删除文件里的所有
            内容
"w+""w"多了察看功能
"a"     只能修改不能察看
        只能在文件末尾追加新内容
        如果文件不存在就创建文件
        如果文件存在不会修改文件的
           原有内容
"a+""a"多了察看功能

"b"也是一种打开方式
他可以和前面的任何一种打开方式混合使用
如果程序里采用二进制方式操作文件就
    应该使用这个打开方式

fopen函数返回的是一个地址,应该记录在
    文件指针里。
程序里只能用文件指针代表打开的文件
fopen函数有可能失败,如果失败则返回值
    是NULL

一旦完成对文件的所有操作后必须使用fclose
    函数关闭文件
fclose函数需要文件指针作为参数
fclose函数结束后文件指针成为野指针,必须
    恢复成空指针

文件操作分两种
1.把内存里一组连续存储区的内容拷贝到
   文件里(写文件操作)
2.把文件里一组连续存储区的内容拷贝到
    内存里(读文件操作)

fread函数可以采用二进制方式对文件进行读
    操作
fwrite函数可以采用二进制方式对文件进行
   写操作

这两个函数都需要四个参数
1.内存里第一个存储区的地址
2.单个存储区的大小
3.希望操作的存储区个数
4.文件指针

它们的返回值表示实际操作的存储区个数

以下两个函数以文本方式操作文件

fprintf函数可以把数据按照规定的格式记录到
    文本文件里
fprintf函数的第一个参数是一个文件指针,
    后面的参数就是printf函数的参数

fscanf函数可以从文本文件里获得数字并记录
    到存储区里
这个函数的第一个参数是一个文件指针,后面的
    参数就是scanf函数的参数
原文地址:https://www.cnblogs.com/Kernel001/p/7735191.html