美文网首页
NDK启航篇——C语言终章(文件IO操作)

NDK启航篇——C语言终章(文件IO操作)

作者: 爺珍爱那颗心 | 来源:发表于2020-04-04 09:31 被阅读0次
ndk
NDK启航篇——C语言基础
NDK启航篇——C语言基础(指针)
NDK启航篇——C语言基础(函数指针)
NDK启航篇——C语言基础(内存分配)
NDK启航篇——C语言基础(字符串)
NDK启航篇——C语言基础(结构体)
NDK启航篇——C语言基础(结构体补充)
NDK启航篇——C语言基础(联合体)

今天写最后的部分文件IO操作

什么是文件IO

  • 就是对存储在计算机物理上的二进制文件进行读写操作
    • 文件逻辑上分为文本文件二进制之分
    • C读写文本文件二进制文件的差别仅仅体现在回车换行符
    • 写文本时,每遇到一个\n,会将其转换成\r\n(回车换行)
    • 读文本时,每遇到一个\r\n,会将其转换成\n

读写文本文件

  • 关键函数
    • fopen(文件路径,"r") r代表读取
    • fget(缓冲区,每次读取多少,文件地址)
    • fputs(写入的字符,文件地址)
    • fclose(文件地址)
//读取文本文件
void main(){
  char path[] = "C:\\picture\\water\\text.txt";
  //打开
  FILE *fp = fopen(path,"r");
  if(fp == NULL){
    printf("文件打开失败");
    return;
}
  //读取
  char buff[50];//缓冲
  while(fget(buff,50,fp)){
    printf("%s",buff);
}
  //关闭
  fclose(fp);
  
  getchar();
}

}
  • 写入文本文件
//写入文本文件
void main(){
  char path[] = "C:\\picture\\water\\text.txt";
  //打开
  FILE *fp = fopen(path,"r");
  char * text = "jdkfsd\njfdsk";
  fputs(text,fp);

  //关闭
  fclose(fp);
  
  getchar();

}

读写二进制文件

  • 文件复制
    • fopen(文件的地址 ,"rb");b字符表示操作二进制文件binary
    • fread(缓冲区,sizeof(缓冲区类型),每次读取多少,文件地址))
    • fwrite(缓冲区,sizeof(缓冲区类型),每次读取多少,文件地址)
void main(){
  char *read_path = "C:\\picture\\water\\text.exe";
  char *write_path = "C:\\picture\\water\\text2.exe";
  //读文件 b字符表示操作二进制文件binary
  FILE *read_fp = fopen(read_path ,"rb");
//写的文件
    FILE *write_fp = fopen(write_path,"wb");
  //复制缓冲区域
  int buff[50];
  //每次读到的数据长度
  int len = 0;
  while((len = fread(buff,sizeof(int),50,read_fp)) ! = 0){
    //将读到的内容写到新的文件
    fwrite(buff,sizeof(int),len,write_fp);
}
  //关闭流
  fclose(read_fp);
  fclose(write_fp);
  
  getchar();

}
  • 获取文件的大小
    • fseek(文件地址,偏移量,SEEK_END);//SEEK_END定位到文件末尾,0代表没有偏移量
    • ftell(文件地址);
void main(){
 char *read_path = "C:\\picture\\water\\text.exe";
 FILE *read_fp = fopen(read_path ,"rb");
//重新定位文件指针
//SEEK_END定位到文件末尾,0代表没有偏移量
 fseek(read_fp,0,SEEK_END);
  //返回当前的文件指针,相对于文件开头的位移量
 long filesize = ftell(read_fp); 
 printf("%d\n",filesize);
 getchar();
}

文件IO的作用

  • 进行文件的加解密
  • 进行文件的分割等等

好啦,C语言的基础知识我们已经搞定了,在看C的代码应该大部分都可以看懂,后续会写一些C++ 的知识点,NDK的大船已经扬起了帆,让我们开启这神秘的旅程吧!

相关文章

网友评论

      本文标题:NDK启航篇——C语言终章(文件IO操作)

      本文链接:https://www.haomeiwen.com/subject/bxtlphtx.html