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

    1. 字符读写函数  :fgetc和fputc
    2. 字符串读写函数:fgets和fputs
    3. 数据块读写函数:freed和fwrite
    4. 格式化读写函数:fscanf和fprinf
     
    1.字符读写:
      fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:
          字符变量=fgetc(文件指针);
      fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:
          fputc(字符量,文件指针); 
     
    2.字符串读写
      读字符串函数fgets 
        函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:
           fgets(字符数组名,n,文件指针);
      写字符串函数fputs
        fputs函数的功能是向指定的文件写入一个字符串,其调用形式为:
           fputs(字符串,文件指针);
     
     3.数据块读写
      读数据块函数调用的一般形式为:
            fread(buffer,size,count,fp);
      写数据块函数调用的一般形式为:
            fwrite(buffer,size,count,fp);
     
     4.格式化读写
      fscanf函数,fprintf函数与前面使用的scanf和printf 函数的功能相似,都是格式化读写函数。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。
      这两个函数的调用格式为:
          fscanf(文件指针,格式字符串,输入表列);
          fprintf(文件指针,格式字符串,输出表列);
     
     
     
    文件定位
     
      移动文件内部位置指针的函数主要有两个,即 rewind 函数和fseek函数。

      rewind函数前面已多次使用过,其调用形式为:
          rewind(文件指针);
        它的功能是把文件内部的位置指针移到文件首。

      下面主要介绍fseek函数。fseek函数用来移动文件内部位置指针,其调用形式为:
          fseek(文件指针,位移量,起始点);
      其中:
          “文件指针”指向被移动的文件。
           “位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB 时不会出错。当用常量表示位移量时,要求加后缀“L”。
           “起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。

        其表示方法如下表。
    起始点 表示符号 数字表示
    文件首 SEEK_SET 0
    当前位置 SEEK_CUR 1
    文件末尾 SEEK_END 2
     
        例如:
            fseek(fp,100L,0);
        其意义是把位置指针移到离文件首100个字节处。

        还要说明的是fseek函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。
     
     
     
    C语言中常用的文件检测函数有以下几个。

    文件结束检测函数feof函数

      调用格式:
         feof(文件指针);
        功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。
     
      读写文件出错检测函数
        ferror函数调用格式:
            ferror(文件指针); 
         功能:检查文件在用各种输入输出函数进行读写时是否出错。如ferror返回值为0表示未出错,否则表示有错。

    文件出错标志和文件结束标志置0函数

      clearerr函数调用格式:
            clearerr(文件指针); 
          功能:本函数用于清除出错标志和文件结束标志,使它们为0值。
  • 相关阅读:
    sqlserve 数据库8G log文件也有10来g 按日期删除 方法
    phpstrom xdebug phpstudy调试,跳不到设置断点的原因,以及配置方法
    用php做管理后台
    springmvc 拦截器与用户验证token
    sqlservei 日志文件清除
    c#gridcontrol 的一些设置
    MySQL联接查询算法(NLJ、BNL、BKA、HashJoin)
    MySQL千万级数据库查询怎么提高查询效率
    聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)
    聚集索引和非聚集索引
  • 原文地址:https://www.cnblogs.com/izxcheng/p/3692069.html
Copyright © 2011-2022 走看看