标准IO库,主要是流

1.流的定向:决定了所读的,写的字符是单字节仍是多字节,当一个流最初被建立的时候,并无进行流的重定向,流的重定向取决于第一次的操做,在流上使用一个单字节的I/O函数,则流被设置为字节定向,若宽字节则被设置位多字节函数

2:缓冲,在行缓冲中,若是有读一个不带缓冲的流或者一个行缓冲的流,则要进行冲洗输出缓冲区spa

setvbuf能够设置缓冲方式,全缓冲,行缓冲,没有缓冲orm

3:打开流,blog

对于fdopen,type参数的意义则稍有区别。由于该描述符已被打开,因此fdopen写而打开并不截短该文件。 (若get

该描述符原来是由open函数打开的,该文件那时已经存在,则其O_TRUNC标志将决定是否截短该文件。fdopenit

数不能截短它为写而打开的任一文件。)另外,标准 I / O添加方式也不能用于建立该文件(由于如若一个描述符终端

引用一个文件,则该文件必定已经存在)。引用

流在打开的时候默认的是全缓冲,若引用的是终端设备,则是行缓冲的im

!!!数据

当以读和写类型打开一文件时( t y p e中+号),具备下列限制:

• 若是中间没有ff l u s h、f s e e k、f s e t p o s或r e w i n d,则在输出的后面不能直接跟随输入。

• 若是中间没有 f s e e k、f s e t p o s或r e w i n d ,或者一个输出操做没有到达文件尾端,则在输入操

做以后不能直接跟随输出。

4读和写流

在读和写流的时候,其实流的缓冲都已经安排好了,在读行的时候好比,fgets(buf,n,fp)buf指的是此函数指

定的读某个流的数据,并将数据存放在某一个地方,这个缓冲区并非流的缓冲区

读和写流有单个字符,每次一行,每次一个结构

在读和写单个字节的时候,能够将读出来的字符,在送回流中,ungetc(int c, FILE *fp)

好比说流中有,cab,先读出c,在送回c,则流变成cab~~若先读出c,在送回d,则为dab

5临时文件






相关文章
相关标签/搜索