顺序读写数据文件
标签: C语言
学习人数: 10.0k

怎样向文件读写字符

对文件的读和写是最常用的文件操作。在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...

登录查看完整内容


课后作业

掌握本节内容


登录后开始许愿

暂无评论,来抢沙发