标签:
fread和fwrite可以对所有文件进行操作,它们直接操作的是二进制数位。
fopen函数使用返回值表示它打开的文件。fopen函数打开文件不一定成功。把fopen的返回值当做boolean使用时,如果为假,表示打开文件失败。反之,打开文件成功。
fopen需要两个实参,第一个实参代表要打开的文件的路径,第二个实参代表打开方式:
"r":不能修改文件内容。从文件头开始操作。限制:文件必须已经存在。
"r+":在r的基础上增加了修改功能。
"w":表示只能修改内容,不能读取内容,从文件头开始操作,如果文件不存在,则创建文件,如果文件存在,则删除文件所有内容。
"w+":w的基础上增加了读文件的功能
"a":只能修改,不能读取,从文件尾开始操作,如果文件不存在则创建文件,如果文件存在则在文件后面增加新内容。
"a+":在a的基础上增加了读文件的功能。
"b":可以和上面任何一种打开方式混合使用。表示以二进制方式对文件进行读写操作。
fclose:需要一个实参表示要关闭文件。通常这个参数是fopen的返回值。每当完成一个文件的所有操作后,都必须使用fclose函数关闭它。
文件操作的代码框架:
1 #include <stdio.h> 2 3 int main(){ 4 FILE *p_file=fopen("a.txt","w"); 5 if(p_file){ 6 //open success 7 }else{ 8 //open false 9 } 10 11 fclose(p_file); 12 p_file=NULL; 13 return 0; 14 }
fread和fwrite实参介绍:
1.地址数据:通常用数组名称表示
2.表示一次最少操作(读或者写)多少个字节。换句话说,读写一次操作位数必须是字节8的整数倍。读写单位。
3.一共要进行多少次操作。例如:一共要进行100个字节的读写操作,那么第二个参数设置为4字节,第三个参数则设置为25.表示一共要进行25次4字节的操作。
这两个函数的返回值都表示实际读写的单位数。
文件操作示例:
#include<stdio.h> /* 写文件 */ int main(){ int arr[]={1,2,3,4,5}; FILE *p_file=fopen("a.bin","wb"); if(p_file){ fwrite(arr,sizeof(int),5,p_file); } fclose(p_file); p_file=NULL; return 0; }
1 #include<stdio.h> 2 3 /* 4 读文件 5 */ 6 7 int main(){ 8 int arr[]={0,0,0,0,0}; 9 int num; 10 FILE *p_file=fopen("a.bin","rb"); 11 if(p_file){ 12 fread(arr,4,5,p_file); 13 fclose(p_file); 14 p_file=NULL; 15 } 16 for(num=0;num<5;num++){ 17 printf("%d\n",arr[num]); 18 } 19 }
标签:
原文地址:http://www.cnblogs.com/karlx/p/4448421.html