从键盘读入一系列字符并以“#”结束,将读入的字符(不包括#号)存入文本文件D:\f1.txt中,再从该文件读取内容,并在显示器上原样显示。
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#include<stdlib.h>
void writefile(int ch, FILE *fp);
void readfile(int ch, FILE *fp);
int main()
{
FILE *fp; //首先定义文件指针
char ch = 0;
fp = fopen("D:\\f1.txt", "w+");//打开文件,w+表示既可以读取也可以写入
if (fp == 0) //文件打开后需判断是否正确
{
printf("file error\n");
exit(1);
}
writefile(ch, fp);//写
rewind(fp);//rewind函数,把指针移到文件头
readfile(ch, fp);//读
fclose(fp);//关闭
return 0;
}
void writefile(int ch, FILE *fp) //使用函数将键盘键入的字符写入文件,直到遇到字符#为止
{
printf("Enter a text (end with '#'):\n");
ch = getchar();
while (ch != '#')
{
fputc(ch, fp);
ch = getchar();
}
}
void readfile(int ch, FILE *fp) //使用文件读取函数fgetc从该文件中读取字符,并显示出来
{
while ((ch = fgetc(fp)) != EOF)
{
putchar(ch);
}
putchar('\n');
}
运行结果: