• 标准IO库,主要是流


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

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

    setvbuf可以设置缓冲方式,全缓冲,行缓冲,没有缓冲

    3:打开流,

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

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

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

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

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

    !!!

    当以读和写类型打开一文件时( 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临时文件








  • 相关阅读:
    最新版-Python和Java实现Aes相互加解密
    tasker 实现短信监听和转发 解决短信验证码登录问题
    某宁 价格爬取 python
    python 获取 某东商品评论数
    xpath 使用
    frida hook 重载函数的几种写法
    Python 爬虫遇到形如 小说 的编码如何转换为中文?
    python 使用 pymysql 存,改dic类型数据
    Excel甘特图制作
    关于sunlike ERP的问题解决集
  • 原文地址:https://www.cnblogs.com/SmileLion/p/5863575.html
Copyright © 2020-2023  润新知