@perkyoung
2015-02-03T08:41:29.000000Z
字数 1010
阅读 1620
UNIX
FILE类型实际上是包含了被打开文件各种信息的结构,例如文件描述符。
一个文件最初被创建,它并没有定向。
使用多字节I/O函数,则被设置成宽定向,使用单子接I/O函数,则被设置成字节定向,一旦使用了,就不能随意切换两类函数。有两个函数可疑更改流的定向。
freopen()
, 清除一个流的定向
fwide()
, 设置流的定向
缓冲类型
设置缓冲
全缓冲
,注意,现在每行缓冲
的事儿了。如果buf是NULL,则关闭缓冲机制_IOFBF
,_IOLBF
,_IONBF
,如果为非缓冲,则忽略buf和size;如果该流是缓冲的而buf是NULL,则函数内部会分配适当长度的缓冲区,大小是常量BUFSIZ,所以别放了关闭流。打开流
读写流
getc
,fgetc
,getchar
, putc
,fputc
, putchar
;getc比fgetc效率更高,因为getc可以是宏;putc也如此char* fgets(char* restrict buf, int n, FILE* f);
忘记gets
吧fwrite()
, fread()
定位流
ftell()
, fseek()
,rewind()