今天来聊聊基础知识 | 每日一练(167)

基础知识练习

士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ——菜根谭

读者:怎样从一个函数返回多个值?

小林:可以传入多个指针指向不同的地址, 函数可以填入, 或者使函数返回一个包含了需要值的结构, 又或者理论上你可以使用全局变量。

读者:怎样访问命令行参数?

小林:当 main() 被调用时, 它们储存在数组 argv 中。

读者:怎样写数据文件, 使之可以在不同字大小、字节顺序或浮点格式的机器上读入?

小林:最可移植的方法是是用文本文件(通常是ASCII), 用 fprintf()写入, 用fscanf()读入, 或类似的函数。同理, 这也适用于网络协议。不必太相信那些说文本文件太大或读写太慢的论点。大多数现实情况下, 操作的效率是可接受的, 而可以在不同机器间交换和用标准工具就可以对其进行操作是个巨大的优势。

如果你必须使用二进制文件, 你可以通过使用某些标准格式来提高可移植性,

还可以利用已经写好的 I/O 函数库。

正文完