怎样向文件读写字符
对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数:
下面分别予以介绍。使用以上函数都要求包含头文件 stdio.h。
字符读写函数fgetc和fputc
字符读写函数是以字符(字节)为单位的读写函数。 每次可从文件读出或向文件写入一个字符。
1. 读字符函数 fgetc
fgetc 函数的功能是从指定的文件中读一个字符,函数调用的形式为:
字符变量 = fgetc(文件指针);
例如:
ch = fgetc(fp);
其意义是从打开的文件 fp 中读取一个字符并送入 ch 中。
对于 fgetc 函数的使用有以下几点说明:
1) 在 fgetc 函数调用中,读取的文件必须是以读或读写方式打开的。
2) 读取字符的结果也可以不向字符变量赋值,
例如:
fgetc(fp);
但是读出的字符不能保存。
3) 在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用 fgetc 函数后,该位置指针将向后移动一个字节。 因此可连续多次使用 fgetc 函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。
【例】读入文件 c1.doc,在屏幕上输出。
#include<stdio.h>
#include<stdlib.h>//exit
#include<conio.h>//getch
int main() {
FILE *fp;
char ch;
if((fp = fopen("d:\\noob\\example\\c1.txt", "rt")) == NULL) {
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
}
ch = fgetc(fp);
while(ch != EOF) {
putchar(ch);
ch = fgetc(fp);
}
fclose(fp);
return 0;
}
本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针 fp,以读文本文件方式打开文件“d:\\noob\\example\\ex1_1.c”,并使 fp 指向该文件。如打开文件出错,给出提示并退出程序。程序第 12 行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志(每个文件末有一结束标志 EO...
掌握本节内容
登录后开始许愿
暂无评论,来抢沙发