zoukankan      html  css  js  c++  java
  • c语言的文本操作

    1、文件

      文件分为文本文件和二进制文件。硬盘上存在的“文件”肯定是二进制的。

      文本文件:里面数据是数据的ASCII值的二进制。

      二进制文件:存在的是数据的二进制。

    2、文件的打开和关闭

      Linux环境下,文件的打开和关闭时不分二进制的文件或文本文件。

      文件的打开: 

    FILE *fopen(const char *path,const char *mode);

      path:描述文件路径的字符串

      mode:打开文件的方式(字符串)

        “r” 以只读的方式来打开文件,文件不存在则打开失败。

        “w”以只写的方式打开文件,文件不存在则创建,存在则清空。

        “a”以只写的方式打开文件,文件不存在则创建,如果存在则在后面追加上去。

        “r+”具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容。

        “w+”具有读写属性,写的时候如果文件存在,会被清空,从头开始写。

        “a+”以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 

              int fclose(FILE *fp);
               //关闭文件后文件指针要置空。
              
    3、文本文件的读写方式:
           fprintf(FILE* fp,占位符,变量名);
               FILE* frw = fopen("text.tet","w");
               sprintf(frw,"%d %s ",....);
               fclose(frw);
               frw =NULL;
              fscanf(FILE* fp,占位符,变量地址);
       
      
       二进制文件的读写:
           在windows打开二进制文件时,权限要加"rb","wb","ab"
           size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream);
               ptr 要写入的数据的首地址
               size 一次写入多少个字节
               nmemb 写入多少次size
               stream 文件指针
               返回值是写入成功的次数
              
               int arr[5]= { 9,1,8,2,3};
               FILE* fwp = fopen("text.dat","wb");
                int ret =fwrite(arr,sizeof(int),5,fwp);
               printf("%d",ret)
              
             
              size_t fread(const void *ptr, size_t size, size_t nmebe,FILE *stream);
               ptr 读取到的数据存储
               size 每次读取多少个字节
               nmemb 读取多少次size
               stream 文件指针
               返回值是成功读取的次数
  • 相关阅读:
    layui第三方组件运用
    layui select lay-filter就不渲染和全局渲染用法和校验
    layui 点击操作列后背景色去掉
    layui混合案列问题
    使用layui富文本添加日志内容,并获取子窗体的富文本内容
    layu tab切换table
    layui 父窗体传子窗体select动态选中
    jstl过长的内容处理空格以及换行并通过js处理内容自动换行
    js中运用jstl标签解决checked是否选中等问题
    javaMD5实现加密解密
  • 原文地址:https://www.cnblogs.com/yyc954330712/p/9430243.html
Copyright © 2011-2022 走看看