×
Featured image of post 换个姿势学C语言第7.4节 获取和保存全部外币牌价数据

换个姿势学C语言第7.4节 获取和保存全部外币牌价数据

换个姿势学C语言 第7章 获取全部外币牌价数据并保存为文件

0. 说明

《换个姿势学C语言》由何旭辉 著,清华大学出版社2022年出版。感谢何老师!

Snipaste_2024-03-10_14-51-10.png

这是一本非常不错的书!

7. 获取全部外币牌价数据并保存为文件

变量、数组都是存储在内存RAM中的,这些数据所占用的内存在程序结束以后会被操作系统回收,其中的数据也就丢失了。因此我们需要将数据保存到外部存储器上(通常是硬盘),以便下次使用。

在一些较底层的语言里,程序员可以直接访问硬盘的某个扇区并进行数据读写,但这种方式一般不被推荐,因为这种方式除了效率比较低外还具有较大的危险,不恰当的磁盘访问可能会引起严重的故障(例如操作系统崩溃或者数据丢失)。

因此通常是以“文件”来组织磁盘上的数据。文件系统由操作系统管理,程序员通过操作系统间接地访问磁盘上的数据,不恰当的文件访问会被操作系统阻止(例如文件被其他程序占用或程序没有访问这个文件的权限),这样一来就安全得多,同时操作系统也会采取一些机制来提高文件访问的效率。

本章将会将取得的外汇牌价数据保存到磁盘文件中,但是在学习磁盘文件访问之前先学习结构体的使用方法。

结构体可以将多种不同类型的数据“组合”到一起,然后再将其存储到磁盘文件中。

7.4 获取和保存全部外币牌价数据

现在我们已经可以一次获取某一种外币的牌价数据,并将其显示或保存起来,也可以从文件中读取已保存的牌价数据。但是,在外汇牌价看板中需要显示多种(书上说的是26种)外汇牌价,它们的名称和代码是什么?

以下是根据中国银行官网外汇牌价页面整理的常见货币名称及其对应的国际标准货币代码(ISO 4217) 。

人民币的货币代码是CNY。详细可参考 中国银行外汇牌价 https://www.boc.cn/sourcedb/whpj/

序号货币名称货币代码
1美元USD
2港币HKD
3澳大利亚元AUD
4欧元EUR
5日元JPY
6英镑GBP
7加拿大元CAD
8新加坡元SGD
9新西兰元NZD
10泰国铢THB
11韩国元KRW
12澳门元MOP
13瑞士法郎CHF
14瑞典克朗SEK
15卢布RUB(俄罗斯卢布)
16丹麦克朗DKK
17印尼卢比IDR
18挪威克朗NOK
19阿联酋迪拉姆AED
20新台币TWD
21菲律宾比索PHP
22南非兰特ZAR
23沙特里亚尔SAR
24巴西雷亚尔BRL
25土耳其里拉TRY
26印度卢比INR
27越南盾VND
28蒙古图格里克MNT
29林吉特MYR(马来西亚林吉特)
30尼泊尔卢比NPR
31捷克克朗CZK
32卡塔尔里亚尔QAR
33以色列谢克尔ILS
34墨西哥比索MXN
35匈牙利福林HUF
36科威特第纳尔KWD
37巴基斯坦卢比PKR
38柬埔寨瑞尔KHR
39文莱元BND
40塞尔维亚第纳尔RSD

也就是说当前有40种外币!

牌价接口库提供了一次性取得全部外币牌价的函数,但我们现在不打算使用它。

如果只允许使用现有的知识和信息,并且只允许使用GetRateRecordByCode函数,如何实现获得全部外币牌价的功能呢?

Licensed under the GNU General Public License v3.0
最后更新于 2026年05月05日 22:47