计算机二级-C语言-程序填空题-190110记录-文件写入与文件读出显示
//给定程序功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1(独立一行)作为字符串输入结束的标志,然后将文件的内容读到显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。
//重难点:文件指针的使用。gets()函数的使用。(有缓存区域,以换行符为标识)feof()函数判断文档是否达到末尾。使用‘-1’作为程序结束的实现
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void WriteText(FILE *);
void ReadText(FILE *);//调用在定义之前,就需要声明
main()
{
FILE *fp;//文件指针
if((fp=fopen("myfile4.txt","w"))==NULL)//调用fopen函数以可写的打开文件,并把返回值赋给文件指针。
{printf("open fail!\n");exit(0)}//终止程序
WriteText(fp);
fclose(fp);//关闭文件指针。指针和文件之间脱离关系
if((fp==fopen("myfile4.txt","r"))==NULL)
{printf("open fail!\n");exit(0);}
ReadText(fp);
flose(fp);
}
void WriteText(FILE *fw)//形参参数要定义为下文使用的
{
char str[81];
printf("\nEnter string with -1 to end:\n");
gets(str);//数组首地址,gets函数是以换行符为判断的
while(strcmp(str,"-1")!=0)//字符串比较函数,-1为结束符,表示整个程序的结束
{
fputs(str,fw);
fputs("\n",fw);//进行下一行的写入
gets(str);//获取下一行内容
}
}
void ReadText(FILE *fr)
{
char str[81]
printf("\nRead file and output to screen:\n");
fgets(str,81,fr);
while(!feof(fr))//判断文件有没有达到末尾。
{
print("%s",str);
fgets(str,81,fr);//下一行的获取
}
}