文件操作

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 }

 

posted @ 2015-04-22 19:15  wu.xiaowei  阅读(208)  评论(0编辑  收藏  举报