字符输入/输出和输入验证

本文介绍了C语言的单字符I/O函数getchar()和putchar(),以及缓冲区的类型。还阐述了文件的概念、C语言处理文件的方式、文件结尾的标记方法。此外,讲解了程序使用文件的两种途径,重定向的相关知识,包括重定向的使用规则和组合重定向的注意事项。

单字符I/O:getchar()和putchar()

缓冲区

完全缓冲

行缓冲

//echo.c--重复输入
#include <stdio.h>
int main(void)
{
    char ch;
    while ((ch = getchar() )!= '#')
        putchar(ch);
    return 0;
}
结束键盘输入

文件  流和键盘输入

  • 文件(file) :是存储器中储存信息的区域。通常,文件都保存在某种永久的存储器中如硬盘 优盘 DVD等

C是一门强大灵活的语言,有许多用于打开 读取 写入和关闭文件的库函数。从较低层面上,C可以使用主机操作系统的基本文件工具直接处理文件,这些直接调用操作系统的函数被称为底层I/O(low-level).

不同操作系统储存文件的方式不同。有些系统把文件的内容储存在一处,而文件相关信息储存在另一处;有些操作系统在文件中创建一分文件描述。在处理文件方面,有些系统使用单个换行符标记行末尾,而其他系统可能使用回车符和换行符的组合来表示行末尾。哟写系统用小字节来衡量文件的大小,有些系统则用字节快的大小来衡量。

文件结尾:法一,在文件末尾做一个特殊的字符标记文件结尾。法二储存文件大小的信息。

重定向和文件:

输入 输出涉及函数函数 数据 和设备。在默认情况下,C程序使用标准I/O包查找标准输入作为输入源。stdin流是把数据读入计算机的常用方式。

程序可 以通过两种方式使用文件。第一种方法是显示使用特定的函数打开文件夹 关闭文件夹 读取文件 写入文件 诸如此类。第二种方法是设计能与键盘和屏幕互动的程序,通过不同的渠道重定向输入至文件和从文件中输出。

对于UNIX和DOS/WINDOWS LInux命令提示,<两侧的空格是可选的。一些系统,如AmigaDOS系统支持重定向,但是在重定向符号和文件名之间不允许有空格。

组合重定向

现在假设你希望制作一份mywords文件的副本并命名为savewords,只需要输入以下命令即可

/echo_eof>mywords<savewords

下面命令也起作用

/echo_eof>savewords<mywords

注意,在一条命令中,输入文件名和输出文件名不能相同。

在系统中使用两个重定向运算符时,要遵循以下原则

  • 重定向运算符链接一个可执行的程序(包括操作系统命令)和一个数据文件,不能用于连接一个数据文件和另一个数据文件,也不能连接一个程序和另一个程序。
  • 使用重定向运算符不能读取多个文件输入,也不能把输出定向至多个文件。
  • 通常,文件名和运算符之间的空格不是必须的,除非是偶尔在UNIX shell、Linux shell或Window命令行提示模式使用的有特殊含义的字符。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值