本文件为《高级语言程序设计》课程第三次实验报告,包含实验目的、步骤及结果分析等内容,适用于课程学习与复习。
西南交通大学实验(大作业)题目:C语言文件操作
**实验目的**
1. 掌握C语言字符文件读写方法;
2. 掌握C语言二进制文件读写方法。
**实验要求**
1. 完成两个文件操作程序。
2. 撰写实验报告,每个程序包括源代码;按要求描述关键算法或流程图,并提供至少两种不同输入的测试结果与结论(可以截图)。
**实验内容**
1. 在字符文件b.txt中录入n个整数。分隔符为空格、换行或制表符TAB。若n=5,则b.txt的一种正确格式为:`59 12 -1530 -7`,即第一个数字是n值,后面跟着的是n个整数。
编写程序从文件b.txt读取n值,并建立长度为n的动态一维数组。接着继续从文件中读入这n个整数存于该数组,进行从小到大的排序操作。最后将排好序的结果输出至字符文件c.txt中。每个数字以%6d格式显示,每五个数字换行。
实验报告需包含此程序的流程图。
2. 16*16点阵汉字显示:从键盘输入一个汉字,读取HZK16.dat二进制字库中的相应信息,并在控制台上打印该汉字(每个像素用字母O表示)。
**提示**
- HZK16.dat文件的存储格式以“我”为例:
```
0x04,0x80
0x0E,0xA0
...
```
HZK16.dat中每个汉字(共32字节)按区位码顺序排列。如汉字啊,其存储位置计算公式为:`offset=((区号-1)*94+位号-1)*32`
例如,“啊”的内码是(0xB0, 0xA1),则在文件中的起始字节偏移量为:
```
((B0 - A1) * 94 + (A1 - A1)) * 32
```