三、文件的读写函数 1.文件结尾标志:EOF 从已打开的文件中读一个字符 fgetc(文件指针变量) 返回值:字符 注意:文件刚打开时,文件指针指向文件的 开始位置 c語醒设计
三、文件的读写函数 1. 文件结尾标志: EOF 从已打开的文件中读一个字符: fgetc(文件指针变量) 返回值:字符 注意:文件刚打开时,文件指针指向文件的 开始位置。 注意:
例:设在当前目录下有一个名为 gh. txtI的文件,要求编 程序将该文件中的内容打印在屏幕上。 *exp15 1c*/ #include<stdio.h> maIn f FILE xfp char ch fp=fopen(gh.txt","r); if (fp==NULL printf("file open errorIn";注意:x文件 else 必须与该程序的 whil(ch=gee)!=EOF)执行文件在同 putchar(ch); 目录下。 fclose(fp) c語醒设计
例:设在当前目录下有一个名为gh.txt的文件,要求编一 程序将该文件中的内容打印在屏幕上。 /*exp15_1.c*/ #include<stdio.h> main( ) { FILE *fp; fp=fopen("gh.txt", "r"); char ch; if (fp= =NULL) printf("file open error\n"); else while((ch=fgetc(fp))!=EOF) putchar(ch); fclose(fp); } 注意:gh.txt文件 必须与该程序的 执行文件在同一 目录下
2.从已打开的文件中读一字符串(读一行字符) fgets(数组名,n个字符数,文件指针变量) 作用:从文件指针所指的文件中读取 字符,并将读取的字符放入数组中 c語醒设计
2. 从已打开的文件中读一字符串(读一行字符): fgets(数组名, n 个字符数,文件指针变量); 作用:从文件指针所指的文件中读取一行 字符,并将读取的字符放入数组中
注意:读取的字符包括换行符“mn?或文件 结束符“EOF,若读到文件结束标志, 函数的返回值为-1; 读取的字符后自动加上字符串结束符 读到文件尾或出错,则返回NULL fgets()的返回值为数组名 c語醒设计
读取的字符包括换行符“\n”或文件 结束符“EOF”, 若读到文件结束标志, 函数的返回值为−1; 读取的字符后自动加上字符串结束符 “\0” 读到文件尾或出错,则返回NULL fgets( )的返回值为数组名. 注意:
例:/exp152c 把文件fe:txt的内容打印 #include <stdio. h> main 到屏幕上,并计算该文 & FILE fp; 件有多少行? char w81; int k0; fp=fopen("file. txt","r); if(fp=NULL printf(" file open errorin"); eise while(fgets(w, 80, fp!=NULL) {k=k+1; printf("%os", w) printf(k=%d", k);) fclose(fp); c語醒设计
例:/* exp15_2.c*/ #include <stdio.h> main( ) { FILE *fp; char w[81]; int k=0; fp=fopen("file.txt", "r"); if(fp=NULL) printf("file open error\n"); else {while (fgets(w, 80, fp)!=NULL) { k=k+1; printf("%s", w); } printf("k=%d", k); } fclose(fp); } 把文件file.txt的内容打印 到屏幕上,并计算该文 件有多少行?