fopen()
    
    函数用于打开文件。
   
    
     参数:
    
    第一个参数为要打开的文件名;第二个参数是用于指定文件打开的模式字符串。
   
    
     返回:
    
    成功打开一个文件之后,返回一个文件指针(
    
     FILE
    
    类型);否则返回空指针。
   
| 
 
          | 
 
          | 
| 
 “r”  | 
 打开一个文本文件,可以读取文件  | 
| 
 “w”  | 
 打开一个文本文件,可以写入文件,先将文件内容清空。如果该文件不存在则会先创建  | 
| 
 “a”  | 
 打开一个文本文件,可以写入文件,向已有文件的尾部追加内容,如果该文件不存在则会先创建  | 
| 
 “r+”  | 
 打开一个文本文件,可以读取与写入  | 
| 
 “w+”  | 
 打开一个文本文件,可以读取与写入,如果该文件存在则将文件内容清空,如果该文件不存在则会先创建  | 
| 
 “a+”  | 
 打开一个文本文件,可以读取与写入,向已有文件的尾部追加内容,如果该文件不存在则会先创建;可以读取整个文件,但写入时只能追加内容  | 
| 
 “rb”, ”wb”…  | 
 与前面模式相似,但是以二进制模式而非文本模式打开文件(”b”表示二进制模式)  | 
    
     
      打开文件并读取
     
    
   
#include<stdio.h>
int main(){
	char ch;
	FILE * fp;                         //文件指针 
	fp = fopen("D:\\Myfile.txt","r");   // fopen(打开的文件名,打开的模式) 
	ch = getc(fp);                     // 从指针fp指定的文件中获取一个字符 
	while(ch!=EOF){
		putchar(ch);   //或者 putc(ch,stdout); 同样是输出到屏幕 
		ch = getc(fp);  
	}
	fclose(fp);
	return 0;
}
Myfile.txt 文件内容
    
   
运行结果:
    
   
    
     
      打开文件并写入
     
    
   
用于写文件的函数:
    
     size_t fwrite
    
    (const void* buffer, size_t size, size_t count, FILE* stream);
   
    
     参数:
    
   
- buffer:是一个指针,对fwrite来说,是要输出数据的地址;
 - size:要写入内容的单字节数;
 - count:要进行写入size字节的数据项的个数;
 - stream:目标文件指针;
 
    
     返回值:
    
    返回实际写入的数据块数目
   
    
     注意:
    
    这个函数以二进制形式对文件进行操作,不局限于文本文件
   
#include<stdio.h>
int main(){
	char buf[]="Hello World";
	FILE *fp;
	fp = fopen("D:\\Hello.txt","a+"); 
	for(int i =0;i<10;i++){
		fprintf(fp,"%d",i);          //写入一个整型数据
	} 
	fwrite(buf,sizeof(buf),1,fp);    //写入一个字符串(末尾有'\0')
	fclose(fp);
	return 0;
} 
运行结果:
    
   
    此外,还可以用
    
     fprintf
    
    、
    
     fputs
    
    、
    
     fputc
    
    、
    
     putc
    
    来对文件进行写操作
   
#include<stdio.h>
int main(){
	FILE *fp;
	fp = fopen("D:\\Hello.txt","a+");     //以可读可写的模式打开
	fprintf(fp,"Hello\n");         //打印字符串到文件中
	fputs("World\n",fp);           //打印字符串到文件中
	fputc('-',fp);                 //打印字符到文件中 
        putc('=',fp);                  //打印字符到文件中
	for(int i =0;i<10;i++){
		fprintf(fp,"%d",i);        //打印数字到文件中
	} 
	fclose(fp);
	return 0;
} 
运行结果:
找到 Hello.txt 并打开查看