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值。

c语言对于文本的基本操作的更多相关文章

  1. [日常] Go语言圣经-文本和HTML模板习题

    Go语言圣经-文本和HTML模板 练习 4.14: 创建一个web服务器,查询一次GitHub,然后生成BUG报告.里程碑和对应的用户信息. 1.查看下文档godoc net/http |grep H ...

  2. R语言:文本(字符串)处理与正则表达式

    R语言:文本(字符串)处理与正则表达式 (2014-03-27 16:40:44) 转载▼ 标签: 教育 分类: R 处理文本是每一种计算机语言都应该具备的功能,但不是每一种语言都侧重于处理文本.R语 ...

  3. C语言采用文本方式和二进制方式打开文件的区别分析

    稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制 ...

  4. iOS中使用Localizable.strings适配App在不同语言下文本的显示

    iOS开发中,若是使用xib或storyboard搭建界面视图,视图中固定显示的文本内容可以用localized添加不同语言适配.但是在实际中会有动态加载的文本,这些文字的适配就需要NSLocaliz ...

  5. C语言实现二叉树的基本操作

    二叉树是一种非常重要的数据结构.本文总结了二叉树的常见操作:二叉树的构建,查找,删除,二叉树的遍历(包括前序遍历.中序遍历.后序遍历.层次遍历),二叉搜索树的构造等. 1. 二叉树的构建 二叉树的基本 ...

  6. WPF 语言格式化文本控件

    前言 本章讲述正确添加语言资源的方式,以及一段语言资源的多种样式显示. 例如:“@Winter,你好!感谢已使用软件 800 天!” 在添加如上多语言资源项时,“XX,你好!感谢已使用软件 X 天!” ...

  7. Go语言基础之16--Mysql基本操作

    一.Mysql驱动及数据库连接 1.1 Golang中的Mysql驱动 A. https://github.com/go-sql-driver/mysql B. Go本身不提供具体数据库驱动,只提供驱 ...

  8. C语言对文件的基本操作

    在C语言中,对于文件的操作是利用FILE结构体进行的. 几个常用的操作文件函数简介 1:打开文件 FILE *fopen( const char *filename, const char *mode ...

  9. C语言-字符串文本串联

    要形成包含多个行的字符串,可以串联两个字符串. 为此,请键入正斜杠,然后按 return 键. 反斜杠导致编译器忽略以下换行符. 例如,字符串     "Long strings can b ...

随机推荐

  1. NEsper使用的事件类型 z

    NEsper使用的事件类型来描述事件的类型信息.你的应用在启动时可能预先配置定义事件类型,或者在运行时通过API或EPL语法动态的增加事件类型. EPL中的create schema 的语法允许在运行 ...

  2. redis.conf 配置详解

    # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k => 1000 bytes # 1kb = ...

  3. POJ 1458 Common Subsequence 最长公共子序列 LCS

    LCS #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> ...

  4. linux Grant 添加 MySql 用户

    Grant 添加 MySql 用户 2009-04-03 14:40 我安装的版本: mysql> select version();+------------+| version()   |+ ...

  5. HW2.15

    public class Solution { public static void main(String[] args) { double rate = 0.05; double balance ...

  6. Trie树模板~~~

    * + ; ; // 字母表为全体小写字母的Trie struct Trie { int ch[maxnode][sigma_size]; int val[maxnode]; int sz; // 结 ...

  7. openstack 制作大于2TB根分区自动扩容的CENTOS镜像

    制作镜像的时候默认分的是30G空间 qemu-img create -f raw centos.img 30G 看官网文档安装完系统需要安装cloud-init和clout-utils包,本人安装了完 ...

  8. 通过分析 JDK 源代码研究 Hash 存储机制

    通过 HashMap.HashSet 的源代码分析其 Hash 存储机制 实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合元 ...

  9. oracle中使用sql查询时字段为空则赋值默认

    转至:http://www.th7.cn/db/Oracle/201501/86125.shtml oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl ...

  10. Kinect for Windows SDK开发入门(15):进阶指引 下

    Kinect for Windows SDK开发入门(十五):进阶指引 下 上一篇文章介绍了Kinect for Windows SDK进阶开发需要了解的一些内容,包括影像处理Coding4Fun K ...