题目:
1. (简答题) tfile.txt文件中, 含一个\r和一个\n。
char ch;
pfile = fopen("d:\\data\\tfile.txt", "r");
while(fscanf(pfile, "%c", &ch) != EOF)
printf("%d\n", ch);
任务1:在上述代码在Windows下,只显示10,请实验并将完整代码和结果贴上。
任务2:修改fopen的参数,使屏幕能输出\r和\n的ASCII码,请实验并将完整代码和结果贴上。
任务3:完成文件的相关操作之后,必须释放缓冲区的空间。
作答:
任务1:
#include<stdio.h>
#include<stdlib.h>
int main(){
char ch;
FILE *pfile = fopen("D:\\AllFiles\\MyCode\\2022c\\note_c\\tfile.txt", "r");
while(fscanf(pfile, "%c", &ch) != EOF)
printf("%d\n", ch);
fclose(pfile);//完成文件的相关操作之后,必须释放缓冲区的空间
system("pause");
return 0;
}
任务2:
修改fopen的参数"r"为"rb"
#include<stdio.h>
#include<stdlib.h>
int main(){
char ch;
FILE *pfile = fopen("D:\\AllFiles\\MyCode\\2022c\\note_c\\tfile.txt", "rb");
while(fscanf(pfile, "%c", &ch) != EOF)
printf("%d\n", ch);
fclose(pfile);//完成文件的相关操作之后,必须释放缓冲区的空间
system("pause");
return 0;
}
任务3:
添加fclose(pfile);//完成文件的相关操作之后,必须释放缓冲区的空间
fclose(pfile);//完成文件的相关操作之后,必须释放缓冲区的空间
参考:
1、课本P196页的代码