缓冲区

作者: c菜鸟 | 来源:发表于2017-12-13 23:07 被阅读0次

首先讲一下,缓冲区和非缓冲区,所谓的非缓冲区就是就是通过键盘输入,然后直接在屏幕中显示,比如是就是打游戏的时候,通过按键立即做出反应,如果你按一下按钮,然后半天没有反应,可想而知,这游戏怎么玩呀。缓冲区就是把你输入到缓冲区中东西,然后到达一定的长度然后一起发送给终端,这就是缓冲区,缓冲区还分为完全缓冲和行缓冲,完全缓冲就是当缓冲区满的话,然后在发送,行缓冲就是你按下enter,也就是所谓换行键,然后就发送。

文件结尾

操作系统一般是通过在文件结尾增加了一个ctrl+z来表示结尾,例如dos,也有一种方法就是通过文件大小来确定文件大小,例如unix,但是c中不管操作系统怎么定义文件结尾的,当getchar()读到末尾时会返回一个EOF标志,这个标志是-1,因为0-255都表示一个符号,例如要在dos中模拟结尾的时候用ctrl+z,来模拟EOF,在linux和unix中通过ctrl+d来模拟结尾

重定向

输入重定向:./funciton < word,word是一个文本文件,就是将这个文本文件作为输入源,然后把输入源中的数据给function这个c程序或者其他程序,

输出重定向:./function >word, 这个的意思就是将function运行产生的数据传送给这个word文本,

一般重定向符号的俩端都是一个文本一个应用程序,不可能俩个都是应用程序,俩个都是文本

******重要*******

就是getchar()输入的时候会把换行符,tab,空格都会读进来,但是scanf()不会读入换行符,tab,空格

你会发现我只输入一个字符,但是它输出俩行,也就是它把空格也算进去了,所以如果你只想打印一行,那么你可以在程序的循环里,在使用一个getchar()把空格给输出来,这样就会打印一行,但是你输入只能输入一个字符,否则也会不正常的

相关文章

  • OpenGL模板缓冲区与模板测试(转)

    OpenGL模板缓冲区与模板测试 帧缓冲区有许多缓冲区构成,这些缓冲区大致分为: 颜色缓冲区:用于绘图的缓冲区,它...

  • OutputStream 输出流 写

    // 带写缓冲区,缓冲区大小10,缓冲区内存中, 1,2,3,4把他们都放到缓冲区--缓冲区满是才写到文件 // ...

  • Socket缓冲区以及阻塞模式

    socket缓冲区每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。write()/sen...

  • 循环缓冲区

    参考 圆形缓冲区(循环buffer)实现35.Linux-分析并制作环形缓冲区 环形缓冲区构成一般的,圆形缓冲区需...

  • 11.18

    Java 中,直接缓冲区与非直接缓冲器有什么区别?非直接缓冲区:通过allocate()分配缓冲区,将缓冲区建立在...

  • [Java NIO] 缓冲区

    一.缓冲区 2.1 缓冲区 1.概念 缓冲区以及缓冲区如何工作,是所有IO的基础。 所谓输入/输出,无非是把数据移...

  • OpenGL ES 3.0(六)缓冲区对象、PBO、FBO

    缓冲区对象 创建: 绑定: 缓冲区对象的绑定点有: 删除: 填充缓冲区: 在使用 glBufferData 之前,...

  • mmap和sendfile

    mmap mmap主要实现方式是将读缓冲区的地址和用户缓冲区的地址进行映射,内核缓冲区和应用缓冲区共享,从而减少了...

  • WEBGL编程指南之缓冲区的使用

    1. 创建缓冲区的步骤 创建缓冲区对象(gl.createBuffer()) 绑定缓冲区对象(gl.bindBuf...

  • 【RTOS训练营】环形缓冲区、AT指令、预习安排和晚课提问

    一、环形缓冲区 在上一次课中,只讲了UART的硬件协议,没有讲环形缓冲区。 本节课就讲解环形缓冲区。 环形缓冲区它...

网友评论

      本文标题:缓冲区

      本文链接:https://www.haomeiwen.com/subject/kczgixtx.html