C言语教程第十章:文件(3)


fclose函数

挪用的浅显形式是: fclose(文件指针); 例如:
fclose(fp); 正常完成关闭文件垄断时,fclose函数前往值为0。如前往非零值则表现有错误发生。文件的读写对文件的读和写是最常用的文件垄断。

在C言语中供应了多种文件读写的函数:
·字符读写函数 :fgetc和fputc
·字符串读写函数:fgets和fputs
·数据块读写函数:freed和fwrite
·格局化读写函数:fscanf和fprinf

  下面区分予以引见。行使以上函数都要求包孕头文件stdio.h。字符读写函数fgetc和fputc字符读写函数是以字符(字节)为单位的读写函数。 每次可从文件读出或向文件写入一个字符。

一、读字符函数fgetc

  fgetc函数的结果是从指定的文件中读一个字符,函数挪用的形式为: 字符变量=fgetc(文件指针); 例如:ch=fgetc(fp);其意义是从掀开的文件fp中读取一个字符并送入ch中。

  关于fgetc函数的行使有以下几点阐明');:
1. 在fgetc函数挪用中,读取的文件必需是以读或读写体例掀开的。

2. 读取字符的结果也可以不向字符变量赋值,例如:fgetc(fp);但是读出的字符不能保存。

3. 在文件内部有一个职位指针。用来指向文件的以后读写字节。在文件掀开时,该指针总是指向文件的第一个字节。行使fgetc 函数后, 该职位指针把向后挪动一个字节。 是以可持续多次行使fgetc函数,读取多个字符。 应过细文件指针和文件内部的职位指针不是一回事。文件指针是指向整个文件的,须在按次中界说阐明');,只需不从新赋值,文件指针的值是不变的。文件内部的职位指针用以指示文件内部的以后读写职位,每读写一次,该指针均向后挪动,它不需在按次中界说阐明');,而是由体系自动设置的。

[例10.1]读入文件e10-1.c,在屏幕上输入。
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("e10_1.c","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
  本例按次的结果是从文件中逐一读取字符,在屏幕上表现。 按次界说了文件指针fp,以读文本文件体例掀开文件“e10_1.c”, 并使fp指向该文件。如掀开文件出错, 给出提醒并到场按次。按序次12行先读出一个字符,然掉队入循环, 只需读出的字符不是文件完毕标志(每个文件末有一完毕标志EOF)就把该字符表而今屏幕上,再读入下一字符。每读一次,文件内部的职位指针向后挪动一个字符,文件完毕时,该指针指向EOF。执行本按次把表现整个文件。




版权声明: 原创作品,应许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。否则将深究司法责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1975566.html