zoukankan      html  css  js  c++  java
  • C的输入函数

    今天主要写下I/0函数。

    第一块:输入

    输入有2种,非缓冲输入和缓冲输入。

    非缓冲输入指的是按下键盘的某个键,内容立刻出来了。举个栗子

    while((ch=getchar())!='#'){
      putchar(ch);  
    }

    若是非缓冲输入,则会出现aabbcc这样的情况,也就是按下什么,立刻输出了。这个在玩游戏的时候很有用。

    缓冲输入指的是,按下某个键,内容被输入到缓冲区,当缓冲区读到换行字符的时候,就把缓冲区清空,去缓冲区域的内容送到程序中。

    缓冲输入还分行缓冲和完全缓冲。

    行缓冲指一行收到了换行符之后,也就是回车,清空缓冲区,把缓冲区内容给程序调用。

    PS:按下回车有2个功能,一个是给缓冲区一个 的换行符,相当于命令的执行把,一个是文本的换行。

    完全缓冲指缓冲区满了之后去把内容给程序。

    第二块:终止输入

    C中用标准的I/O包处理文件,主要是为解决系统差异

    比如 A系统用 表示换行,B用 表示换行。

    这里就用if(ch==' ')的时候,C的标准I/O函数就能很好地处理兼容性问题了。

    C中有2个流,stdin and stdout

    C的I/O函数都是和这2个东西打交道。

    C用相同的技术处理文件和stdin。

    读取文件,C有个标志来检测读完没。

    读取stdin(如键盘输入),C的stdin函数也需要一个标志读完没。

    一般有3中方法标志把。

    a.用行开头的CTRL+Z(windows)标志

    b.文件大小,超过了就代表结束了

    c.C让getchar函数在读到文件结尾的时候返回一个特殊的值,EOF

    所以一般在C中用c来获取文件结尾,文件结束和键盘输入的结束是类似的。

  • 相关阅读:
    第四章 证券投资基金的监管
    第三章 证券投资基金类型
    第二章 证券投资基金概述
    第一章 金融、资产管理与投资基金
    第一章附录
    第1章 为什么研究货币、银行与金融市场
    最近值得珍惜的小事
    转_如何解决linux动态库版本控制
    爆裂鼓手
    修改jupyter notebook默认路径
  • 原文地址:https://www.cnblogs.com/wz0107/p/5334698.html
Copyright © 2011-2022 走看看