• 文件操作相关的函数总结


    文件操作
    <1>.
    文件使用方式     含义                         如果指定文件不存在
    “r”(只读)      为了输入数据,打开一个已经存在的文本文件       出错
    “w”(只写)       为了输出数据,打开一个文本文件            建立一个新的文件
    “a”(追加)        向文本文件尾添加数据 出错
    “rb”(只读)      为了输入数据,打开一个二进制文件           出错
    “wb”(只写)     为了输出数据,打开一个二进制文件           建立一个新的文件
    “ab”(追加)     向一个二进制文件尾添加数据              出错
    “r+”(读写)      为了读和写,打开一个文本文件             出错
    “w+”(读写)       为了读和写,建议一个新的文件             建立一个新的文件
    “a+”(读写)        打开一个文件,在文件尾进行读写              建立一个新的文件
    “rb+”(读写)       为了读和写打开一个二进制文件               出错
    “wb+”(读写)     为了读和写,新建一个新的二进制文件          建立一个新的文件
    “ab+”(读写)     打开一个二进制文件,在文件尾进行读和写         建立一个新的文件

     
       注意:在只写的情况打开文件,会删除文件中的内容,
               而在追加情况下打开文件,则不会删除文件中的内容        
    <2>.
      1.fread,把磁盘中的数据读到内存中

       FILE* fp = fopen("D:/text.txt","r");//fopen,打开文件
       printf("%s ", strerror(errno));
       if (fp == NULL)
       {
        perror("fopen");//是strerror(errno)的简化版
        return 1;
       }
       printf("%p ", fp);//这里的fp表示文件句柄(遥控器) 
       char buffer[1024] = {0};
       //buffer英文是缓冲区的意思:相当于搬运器(作用:提高效率)
       size_t n = fread(buffer, 1, 1023, fp);
       //fread的返回值为实际读到的文件大小
       //1023的目的:最好不要将缓冲区内存占完,以便字符串使用
       printf("n=%d ",n);
       printf("buffer=%s ", buffer); 
       //fclose,文件关闭
       //如果不关闭,则会发生文件描述泄露
       fclose(fp);
     
      2.fwrite,把磁盘中的数据改写

       FILE* fp = fopen("D:/text.txt", "w");//fopen,打开文件
       printf("%s ", strerror(errno));
       if (fp == NULL)
       {
        perror("fopen");//是strerror(errno)的简化版
        return 1;
       }
       printf("%p ", fp);//表示文件句柄(遥控器)
       char buffer[1024] = "haha";
       size_t n = fwrite(buffer, 1, strlen(buffer), fp);
       printf("n=%d ",n);
       fclose(fp);   
     
      3.fssek
        文件的随机读写:根据文件指针的位置和偏移量来定义文件的指针
     
        
         
        
     
     
      4.ftell
     
        
        
        
    <3.>文件路径
      1.绝对路径:带根目录开头,路径是区分大小写的
      2.相对路径 :  . 表示当前目录    ..表示上级目录
      fopen中写入绝对路径和相对路径都可以
     
    <4.>文件的打开
      在当前系统上,一个程序打开文件的数目上限是 512
      在程序启动前会默认先打开 3 个文件(标准输入,标准输出,标准错误)
      一个文件打开后没有及时关闭,可能会达到打开文件数目上线,导致文件资源泄露问题
     
     
  • 相关阅读:
    [Nowcoder] 六一儿童节(拼多多)
    [Nowcoder] 大整数相乘(拼多多笔试题)
    [Nowcoder] 最大乘积(拼多多笔试题)
    [Paddle学习笔记][06][图像分类-动态图]
    [Paddle学习笔记][05][对抗生成网络]
    [Paddle学习笔记][04][图像分类]
    [Paddle学习笔记][03][数字识别]
    [Paddle学习笔记][02][MNIST转换到PNG]
    [Paddle学习笔记][01][线性回归]
    [caffe学习笔记][06][使用LeNet分类输入图片]
  • 原文地址:https://www.cnblogs.com/cuckoo-/p/10560640.html
Copyright © 2020-2023  润新知