[jni] 05_C语言用FILE读写文件

Android 4.0

C语言用FILE读写文件

1、C语言写文件 
#include <stdio.h> 
#include <stdlib.h>
main(){
        // java 
        // File file = new File("1.txt") 
        // 打开一个文件的c语言的函数 
        // sharedpreference  db content.openoutput()  
        // 获取到文件的指针  
        FILE * fp = fopen("write.txt","wt");//只写模式打开。//FILE全部大写 
        
        char* str  = "[i am use c write file]"; 
     
        // fwrite方法接受4个参数  
        // 第一个参数 写什么内容 
        // 第二个参数 是一次 数据写多长  
        // 第三个参数 是写多少次 
        // 第四个参数 写到哪个文件里面  
        int len = fwrite(str,sizeof(char),23,fp);//返回写的次数。 
        
        printf("%d\n",len);
        
        //关闭文件 
        //fclose(fp);
        //如果没有关闭文件,那么要在程序运行关闭后,该文本中才会有数据 
        
        system("pause");
}
2、C语言读文件 
#include <stdio.h> 
main(){
       FILE* fp = fopen("write.txt","rt");   //FILE全部大写    
       
       char arr[25]={};//如果没有初始化,打印出来乱码 
              
       printf("arr数组内容:%s\n",arr);
       
       //第一个参数 是读出来内容放在哪里
       // 第二个 参数 一次读的数据的长度  
       // 第三个参数 读多少次 
       // 第四个参数 从哪个文件里面读 
       int read = fread(arr,sizeof(char),23,fp);
       printf("读取了%d个字符\n",read);
       printf("arr数组内容:%s\n",arr);
       
       fclose(fp);//如果没有关闭,那么读取的文本,不能被删除,被该程序一直占用。 
       
       system("pause");
}
3、C语言文件操作模式:

rt” 只读打开一个文本文件,只允许读数据
wt” 只写打开或建立一个文本文件,只允许写数据
at” 追加打开一个文本文件,并在文件末尾写数据 


rb” 只读打开一个二进制文件,只允许读数据
wb” 只写打开或建立一个二进制文件,只允许写数据
ab” 追加打开一个二进制文件,并在文件末尾写数据 


rt+” 读写打开一个文本文件,允许读和写
wt+” 读写打开或建立一个文本文件,允许读写
at+” 读写打开一个文本文件,允许读,或在文件末追加数据
rb+” 读写打开一个二进制文件,允许读和写
wb+” 读写打开或建立一个二进制文件,允许读和写
ab+” 读写打开一个二进制文件,允许读,或在文件末追加数据

对于文件使用方式有以下几点说明:

文件使用方式由r,w,a,t,b+六个字符拼成,各字符的含义是:

r(read):
w(write):

a(append):
追加
t(text):
文本文件,可省略不写
b(banary):
二进制文件