zoukankan      html  css  js  c++  java
  • C学习笔记(八)字符输入输出和输入确认

    缓冲区

    缓冲区分为两类:完全缓冲(fully buffered)I/O和行缓冲(line-buffered)I/O。完全缓冲在缓冲区满时被清空(内容被发送至目的地)。这种类型常出现在文件输入中。缓冲区的大小取决于系统。行缓冲在遇到换行字符时被清空。键盘输入是标准的行缓冲。

    文件、流和键盘输入

    c程序处理一个流而不是一个文件。键盘输入由一个被称为stdin的流表示,而到屏幕(或电子传真机、或其他输出设备)上的输出由一个被称为stdout的流表示。

    文件结尾

    检测文件结尾的一种方法是在文件中放置一个特殊字符来标志结尾。例如CP/M、IBM/DOC和MS/DOC的文本文件中曾使用一种方法。使用内嵌的Ctrl+Z字符来标识文件结尾。

    第二种方法是让操作系统存储文件大小的信息。如果一个文件有3000字节,而且程序已经读取了3000字节,则改程序就到达了文件结尾。

    对于这两种方法,c的处理方法是让getchar()在到达文件结尾时返回一个特殊值,此值名称为EOF(End Of File)。

    重定向和文件

    令程序和文件一同工作有两种方式。一种方式是明确的使用打开文件、关闭文件、读文件、写文件等专门函数。

    第二种方式是使用一个设计用于与键盘和屏幕共同工作的程序,但是使用不同通道重定向输入和输出,例如输入到文件和从文件输出。

    输入重定向

    假如你编译了echo_eof.c,要运行程序,键入该程序的名字。

    echo_ eof

    假设你要对一个名为words的文本文件使用该程序。

    echo_ eof<words

    <符号是Unix、Linux重定向运算符。该运算把words文件的内容引导至echo_eof程序。

    输出重定向

    假如你想echo_eof将你的键盘输入发送给一个名为mywords的文件。

    echo_ eof>mywords

    >会建立一个新文件,然后将echo_eof的输出重定向到该文件。

    组合重定向

    假如你希望制作mywords的一个副本,并将其命名为savewords,只需发出命令:

    echo_ eof<mywords>savewords

    下面的语句同样可以实现,重定向运算符的顺序无关紧要:

    echo_ eof>savewords<mywords
  • 相关阅读:
    常用控件的学习
    C# NOSQL 开源项目
    Js生成Guid
    通过sql语句附加数据库与启用sa账户
    Js 键值对实现
    sqlServer2000 安装备忘
    System.Reflection.ReflectionTypeLoadException: 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。
    关于ado.net连接池的一些分享(2)(原文出自:http://www.cnblogs.com/b42259626/articles/968460.html)
    关于ado.net连接池的一些分享(原文出自:http://www.cnblogs.com/rickie/archive/2004/10/02/48546.aspx)
    删除迅雷文件夹
  • 原文地址:https://www.cnblogs.com/hahazexia/p/3342182.html
Copyright © 2011-2022 走看看