今天晚上看了unix的标准文件I/O的一部分,想了一下,不记录一下笔记过两天又忘记了。
1、fwide(FILE *fp, int mod)函数修改流的字节定向,只有该fp没有字节定向时设置才有可能成功,其中有3种,字节定向(mod为负,一个字节为一个字符),宽定向(mod为正,多个字节表示一个字符),未定向(mod为0)
2、缓冲,这个看得比较模糊,其中包括:
(1 )行缓冲,比如标准的终端打印
( 2 )无缓冲,比如stderr(标准错误输出,因为要尽可能的多输出错误,所以没必要缓冲)
( 3 )全缓冲,比如字符集写到标准文件内
3、尽量用fgets和fputs替代gets和puts,防止缓冲溢出
4、使用tempfile和mkstemp(这个不会自动删除文件)创建临时文件
5、文件位置相关函数:ftell返回文件位置指示,fseek设置文件位置,返回长整形;ftello和fseeko返回off_t类型;fgetpos和fsetpos返回fpos_t数据结构
6、printf和scanf等函数
7、fopen和fdopen