习题15-3:
题码: 章节: 考查点:文件的正确使用 难度:编写一程序P796.C实现以下功能
在磁盘上新建一个文件Test.txt,将从键盘读入的多个字符存储到该文件中,要求如下:
(1)若输入的字符中有小写字母,则应先将其转换为大写后再存入。
(2)输入!表示输入结束且!不存入文件中。
(3)当文件创建失败或向文件写入字符时出错,应显示指定的出错信息并终止程序的执行。
(4)程序的返回值(即由main函数return的值和程序使用exit终止运行时返回的值,也称退出代码)规定为: ①运行正常返回0 ②文件创建失败返回1 ③向文件写入字符时出错返回2
编程可用素材:printf("\nCreate file error!\n")、printf("Input chars: ")、printf("\nWriting file error!\n")。
程序的运行效果应类似地如图1所示,文件Test.txt的内容应类似地如图2所示。图1中的“Input chars: ”后面的内容系从键盘输入。
图1 程序运行效果示例
习题15-4:
题码:1 章节:文件操作 考查点: 难度:2
编写一程序p317.C实现以下功能
根据输入的源文件名(含路径, <100字节)和目标文件名(含路径, <100字节),实现将源文件复制到目标文件。注意事项:
(1)源文件可能是文本文件,也可能是二进制文件。
(2)程序的返回值(即由main函数return的值和程序使用exit终止运行时返回的值,也称退出代码)规定为:
①复制成功返回0 ②源文件打开失败返回2 ③目标文件创建失败返回3 ④向目标文件写数据的过程中出错返回4
(3)向目标文件写数据的过程中出错的情况很少发生,考生根据图例中的输入数据进行测试时,很可能不会出错,但程序应考虑出错的情况。
(4)编程可用素材:printf("Please input sourceFilename: ")...、 printf("Please input destinationFilename: ")...、 printf("\ncopy %s to %s successed!\n", ...、printf(" \nsource File (%s) Open Error!\n", ...、printf("
\ndestination File (%s) Create Error!\n", ...、printf(" \nwriting destination File (%s) Error!\n", ...。
程序的运行效果应类似地如图1、图2、图3和图4所示,图1中的C:\Temp\Test.dat和D:\CpOk.doc、图2中的C:\Temp \TestN.dat和D:\Dsm.dat、图3中的C:\Temp\Test.dat和D:\noDir\Dsm.dat、图4中的C:\Temp \Test.dat和D:\Wer.dat是从键盘输入的内容。
图2 程序运行效果示例(生成的文件Test.txt之内容
图1 源文件存在,目标文件创建成功,复制正常完成 图2 源文件打开失败
图3 目标文件创建失败 图4 向目标文件写数据的过程中出错
提示:
因源文件可能是文本文件,也可能是二进制文件。使用fgetc和fputc来做,且判断文件是否结束应用feof来做 程序设计思路如下:
打开源文件,判断失败否,失败,return 2;
打开目标文件,判断失败否,若失败,关闭源文件,return 3;
while(源文件没有结束) //while (!feof(in))