C语言文件操作的方法

|格式

【www.hywsbj.com--格式】

  C语言文件操作的方法有很多,函数也有很多你知道哪些呢?下面是小编为大家带来的C语言文件操作的方法,欢迎阅读。

  文件的打开与关闭

  首先要定义一个文件指针类型,格式为 FILE *文件指针名; ;

  FILE *fp; //fp就是定义的文件指针

  ●打开文件fopen()函数,格式: fp = fopen("文件名", "打开方式");

  fp = fopen("c:\myfile", "r"); //打开方式下文会讲到

  文件名中不允许直接使用路径描述符 "",必须用转义字符的形式 "\"。"\" 中第一个 "" 是转义字符,第二个表示路径描述符。

  ●关闭文件fcolse()函数,格式: fclose(文件指针);

  fclose(fp);

  功能:正常完成关闭文件操作时fclose返回0,否则返回EOF(值为-1),表示有错误发生。

  ●打开文件的方式:

  共有12种,由r(read), w(write), a(append), b(binary), +(read/write)五个字符组合而成。

  "r", "w", "a", "r+", "w+", "a+" :这六种打开文本文件

  "rb", "wb", "ab", "rb+", "wb+", "ab+" :这六种打开二进制文件

"r"打开一个文本文件,可以读取文件"w"打开一个文本文件,可以写入文件,先将文件的长度截为0。如果该文件不存在则先创建 "a"打开一个文本文件,可以写入文件,向已有文件的尾部追加内容,如果该文件不存在则先创建"r+"打开一个文本文件,可以进行更新(读取和写入),也即可以读取和写入文件"w+"打开一个文本文件,可以进行更新(读取和写入),如果该文件存在则首先将其长度截为0,如果该文件不存在则先创建"a+"打开一个文本文件,可以进行更新(读取和写入),向已有文件的尾部追加内容,如果该文件不存在则先创建;可以读取整个文件,但写入时只能追加内容。"rb", "wb", "ab", "rb+", "wb+", "ab+", "r+b", "w+b", "a+b"与前面的模式相似,只是使用二进制而非文本模式打开文件

  注意:如果用"w"模式打开任意一个文件,文件内容将删除,以便程序以一个空文件开始操作。

  ●文件结束的判定feof()函数,格式: feof(文件指针)

  这里举一个例子帮助理解:

  while(!feof(fp)) //我们已在文件的末尾加上结束标志-1

  { c = fgetc(fp);

  print("当到文件尾时,此段文字不显示");

  }

  //此段程序的含义是:当为!feof(fp)为1,从当前位置读入一个字节的数据赋给字符型变量c,指当遇到文件结束标志时,feof(fp)的值为1,feof(fp)为0,循环结束

  feof()函数功能:测试文件指针所指向的文锦啊内部读写位置指针是否到达文件尾。当文件结束时返回1,否则返回0。

  文件的读写

  1.字符,字符串的读写

  写字符函数fputc,功能:把一个字符写入此盘文件中,若输出成功,则返回输出的字符,否则返回EOF。格式:

  fputc(ch, fp); //将字符ch的值输出到fp所指向的文件中

  ch:要输出的字符,可以是字符常量,也可以是字符变量。

  读字符函数fgetc,功能:从指定文件读入一个字符,该文件必须是以读或读写方式打开的,若读取成功返回读取的字符,否则返回EOF。格式:

  ch = fgetc(fp); //读取成功返回字符赋值给ch

  写字符串函数fputs,格式: fputs("字符串", 文件指针); 功能:向指定的文件写入一串字符,写入成功返回0,否则返回非0值。

  fputs("Welcome to my blog", fp);

  注意:fputs函数将写入文件的字符串中的空字符去掉,ptus函数将空字符换成换行字符输出。

  读字符串函数,格式: fgets(字符串, n, fp); 功能:从fp指向的文件读入n-1个字符存放第一个参数中,如果遇到换行符或EOF,则结束。

  fgets(str, n, fp); //str 为字符数组。从fp指向的文件读入n-1个字符存放到str数组中

  注意:读入字符串后在最后加一个 '\0' 字符,fgets函数返回的返回值为字符串的首地址。

  2.数据块的读写

  数据块写文件函数fwrite(),格式:

  fwrite(buffer, size, count, fp);

  buffer:是一个指针,用来指出带输出数据的地址。

  size:每次要写的字节数

  count:写入多少个size大小的数据项

  注意:完成写操作(fwrite())后必须关闭文件(fclose())

  数据块的读文件函数fread(),格式:

  fread(buffer, size, count, fp);

  count:读入多少个size大小的数据项

  3.格式化读/写文件函数

  读文件fprintf(),格式: fprintf(文件指针,"格式控制",输出列表);

  fprintf(fp,"%d, %d",a, b); //将a,b写入fp指向的文件中

  注意:fprintf()函数总是将输出项在内存中的表示形式按指定的格式转换成字符串形式,再写入到指定的文件中。

  写文件fscanf(),格式: fscanf(文件指针,"格式控制",地址列表);

  fprintf(fp,"%d, %d",&a, &b); //将fp指向的文件中的数据读出并存放于a,b

  注意:fscanf()函数从文件中读出的数据一定是按字符串形式(文本形式)存在的。

  文件定位

  ●rewind()函数,格式: rewind(文件指针); 功能:使文件指针的读写位置重新返回到文件的开头。

  rewind(fp);

  ●fseek()函数,格式: fseek(文件指针, 位移量w, 起始点s); 功能:使文件指针移到距起始点偏移w个字节处。

  fseek(fp, 2, 0); //使文件指针移到距起始点0偏移2个字节数

  w:当w为正数时表示向文件尾方向移动,为负数时表示向文件头移动,为0表示不移动。 s:可以为0,1,2;s=0表示文件头,s=0表示当前位置,s=0表示文件末尾。 ●ftell()函数,格式: ftell(文件指针); 功能:得到流式文件中的当前位置,用相对与文件开头的位移量来表示。若ftell()函数返回-1L表示出错。

  i = ftell(fp); //存放当前位置给变量i

  if(i == -1L)

  printf("error "); //若调用的函数出错(如不存在此文件),则输出ERROR

  文件的检测

  常用的文件检测函数有两个 ferror()和clearerr() ferror()函数,功能:若ferror()函数的返回值为0,则表示未出错,非0表示出错。格式:

  ferror(fp)

  clearerr()函数,功能:使文件错误标志和文件结束标志置为0。格式:

  clearerr(fp)



本文来源:https://www.hywsbj.com/gongwenjiqiao/5992/

《C语言文件操作的方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

    上一篇:情况说明范文

    下一篇:教案的标准格式

    热门推荐
    • 关于公函的格式及范文【二篇】

      工作汇报的写作思路是:首先都做了哪些事,简明扼要,通过工作,对岗位和工作的认识。格式大体就是标题、正文、开头、概述情况、总体评价、提纲挈领、总括全文。以下是小编为大家收集的关于公函的格式及范文【二篇】

    • 提案的格式及样本集合5篇

      报告是一种公文格式,专指陈述调查本身或由调查得出的结论,可以是机关对其内部调查的结果,也可以是由独立的研究人员进行调查的结果,其使用范围很广,报告的风格与结构因应各个机构的惯例而有所不同。以下是为大家

    • 情况说明格式范文7篇

      每一年的学雷锋活动都会使我们对“雷锋精神”有新一层的认识,今年也不例外。他说的每一句话做的每件事都被我们记住,因为那是每一个中国人的实践准则,使每一个中国人所崇尚的雷锋活动心得体会范文。以下是小编为大

    • 通知的格式及范文范文(精选8篇)

      工作汇报的写作思路是:首先都做了哪些事,简明扼要,通过工作,对岗位和工作的认识。格式大体就是标题、正文、开头、概述情况、总体评价、提纲挈领、总括全文。以下是小编整理的通知的格式及范文范文(精选8篇),

    • 巡察问题整改集合6篇

      问题,汉语词汇。拼音:wèn tí 释义:要求回答或解释的题目;【名】需要研究讨论并加以解决的矛盾、疑难;【名】关键;重要之点;【名】事故或麻烦。下面是小编精心整理的巡察问题整改集合6篇,仅供参考,大

    • 关于入党宣誓仪式会议流程及记录格式【六篇】

      “入党”指加入中国共产党。根据《中国共产党章程》,年满十八岁的中国工人、农民、军人、知识分子和其他社会阶层的先进分子,承认党的纲领和章程,愿意参加党的一个组织并在其中积极工作、执行党的决议和按期交纳党

    • 校园文学征稿启事格式范文(精选6篇)

      启事是机关,团体,单位个人有事情需要向公众说明,或者请求有关单位,广大群众帮助时所写的一种说明事项的实用文体。以下是小编为大家收集的校园文学征稿启事格式范文(精选6篇),仅供参考,欢迎大家阅读。

    • 发展对象个人自传格式范文(精选6篇)

      个人自传,是系统、全面地介绍自己的历史及思想演变过程的书面材料。它是申请入党的人向党组织全面汇报自己情况的一种重要形式,也是党组织全面地、历史地了解申请人的重要材料。以下是小编整理的发展对象个人自传格

    大家热搜
      MySQL Query : SELECT * FROM `hywsbj`.`v9_hits` WHERE hitsid LIKE 'c-1-%' AND catid='34' ORDER BY views DESC LIMIT 10
      MySQL Error : Table './hywsbj/v9_hits' is marked as crashed and should be repaired
      MySQL Errno : 145
      Message : Table './hywsbj/v9_hits' is marked as crashed and should be repaired
      Need Help?