输入/输出函数

输入/输出函数

标准I/O函数库

       ANSI C的一个主要优点就是对标准函数的修改将通过增加不同函数的方法实现,而不是通过对现存函数进行修改来实现。因此,程序的可移植性不会受到影响。

对于在调试中的打印语句,可以通过添加一条fflush(stdout)语句,来强制立即输出。

流分为两种类型:文本流text和二进制流binary

字符I/O

       fgetcfputc都是真正的函数,但getcputcgetcharputchar都是通过#define指令定义的宏。宏在执行时间上效率稍高,而函数在程序的长度方面更胜一筹。

二进制I/O

       把数据写到文件效率最高的方法是用二进制形式写入。二进制输出避免了在数值转换为字符串过程中所涉及的开销和精度损失。

刷新和定位函数

fflush函数会立即把输出缓冲区中的数据进行物理写入;

ftell函数返回流的当前位置;

fseek函数允许你在一个流中定位;

rewind函数将读写指针设置回指定流的起始位置,它同时清除流的错误提示标志;fgetposfsetpos函数分贝时ftellfseek函数的替代方案。

流错误函数

几个判断流状态的函数:

l  feof:如果流当前处于文件尾,feof函数返回真;

l  ferror:报告流的错误状态,如果出现任何读写错误函数就返回真;

l  clearer:对指定流的错误标志进行重置;

文件操纵函数

removerename函数。

总结

       一种编译器可以在它的函数库中提供额外的函数,但是不应该修改标准要求提供的函数。

Python 列表

列表

       列表是一个任意类型的对象的位置相关的有序集合,它没有固定的大小,不像字符串,其大小是可变的,通过对偏移量进行赋值以及其他各种列表的方法进行调用,确实能够修改列表的大小。

       Python的列表与其他语言中的数组有些类似,但是列表要强大得多,其中一个方面就是,列表没有固定类型的约束

       我们可以使用append方法来扩充列表的大小,用pop方法移除给定的一项,用insert插入元素,用remove来移除元素。因为列表时可变的,大多数列表的方法都会改变列表对象,而不是创建一个新的列表。