| 
 
| 1.文件操作的步骤 1)导入头文件stdio.h
 2)定义文件指针
 3)打开文件
 4)读写文件
 5)关闭文件
 
 2.文件操作函数
 1)字符读写函数 fgetc,fputc
 2)字符串读写函数 fgets,fputs
 3)数据块读写函数 fread,fwrite
 4)格式化读写函数 fscanf,fprintf
 
 3.文件的打开(fopen)关闭(fclose)
 FILE *fp=NULL
 p=fopen(文件名,使用文件的方式)
 1)文件指针名必须是被说明为FILE类型的指针变量
 2)文件名是被打开文件的文件名
 3)使用文件方式是指文件的类型和操作要求
 4)文件名是字符串常量式字符串数组
 #include <stdio.h>
 //a.txt储存在product目录下
 
 复制代码int main(){
        FILE *fp=NULL;
        fp=fopen("a.txt","r");
        if(fp!=NULL){
                printf("file");
        }else{
                printf("文件打开失败!按任意键推出!");
                gechar();
                exit(1);
        }
        return 0;
}
4.文件操作方式
 1)r
 只读文件,不能向文件写入数据。
 2)w
 创建一个新文件,准备向文件写入数据,不能从文件中读取数据,如果文件已存在,这个文件将被覆盖(先删后建)
 3)a
 打开一个已存在的文件,准备在文件尾部追加数据,不能从文件中读取数据,如果文件不存在,则创建这个文件。
 4)r+
 打开一个已存在的文件,准备读写
 5)w+
 创建一个新文件,准备读写,覆盖
 6)a+
 打开一个已存在的文件,准备在文件尾部追加数据,可以读写。
 7)t
 打开一个文本文件(ascii码文件)
 8)b
 打开一个二进制文件
 默认打开方式是rt
 
 5.fgetc和fputc
 1)fputc(字符,文件指针);
 
 
 复制代码#include <stdio.h>
int main(){
        FILE *fp = NULL;
        fp=fopen("fputc.txt","w");
        if(fp!=NULL){
                char ch = 'x'
                fputc(ch,fp);
                printf("写入成功");
        }else{
                printf("打开文件失败,按任意键推出!");
                getchar();
                exit(1);
        }
        fclose(fp);
        return 0;
}
 2)fgetc()
 FILE *fp=fopen("fputc.txt","r");
 ch=fgetc(fp);
 
 复制代码#include <stdio.h>
#include <stdlib.h>
int main(){
        char ch[]="i love china";
        FILE *fp=fopen("ch.txt","w");
        if(fp!=NULL){
                for(int i=0;i<strlen(ch);i++){
                        fputc(ch[i],fp);
                }
        }else{
                printf("打开文件失败,请按任意键退出!");
                getchar();
                exit(1);
        }
        fclose(fp);
        return 0;
}
 
 复制代码#include <stdio.h>
#include <stdlib.h>
int main(){
        FILE *fp=fopen("ch.txt","r");
        char s=fgetc(fp);
        while(s!=EOF){
                putchar(s);
                s=fget(fp);
        }
        fclose(fp);
        return 0;
}        
 
 6.字符串读取函数fgets(),fputs()
 fputs()读取时,遇到\n和EOF结束读取
 fputs 的返回值为输入字符的个数
 
 7.数据块读写函数fread()和fwrite()
 freard(buffer,size,count,fp);
 fwrite(buffer,size,count,fp);
 1)buffer
 指针,存放数据的地址,输出数据的地址
 2)size
 块的大小
 3)count
 读取几块
 4)fp
 文件指针
 | 
 |