文件input/inout输入输出(一)

本文介绍了C语言中关于文件输入输出的基础知识,包括字符输入、输出、输入确认的概念。文章通过示例程序展示了如何使用getchar()和putchar()进行单字符I/O,并讨论了缓冲区在输入输出中的作用,解释了为何需要缓冲区以提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件输入输出第一章

因为最近一直在研究获取usb驱动设备相关数据的内容,所以打算一口气把I/O口相关的知识进行一个简单系统的整理,以免之后在使用的过程中产生对其定义的错误理解。
编程从文件读取读取信息或者将结果写入文件是一种经常性的需求。
在了解文件输入输出之前我们先了解一下字符输入、输出和输入确认。

首先,我们对其关键概念进行一个了解并描述。
C程序将输入视为一个外来字节的流,getchar()函数负责将每个字节解释为一个字符编码。scanf()则是为输入。许多操作系统都提供重定向,这样使您能够用文件代替键盘作为输入,或者用文件代替显示器输出,而不是每次使用都需要重新打印(这是一个字符存储功能。)。对于一个小程序来说,输入确认可能是最复杂的部分。

单字符I/O:getchar()和putchar()每次输入和输出一个字符,此方法是大多数处理文本(即普通单词)的程序核心。下面有个例子来介绍该函数的用法,该过程被称为输入回显,它使用了一个while循环,该循环在遇到#字符时终止。
echo.c
#include<stdio.h>

int main(void)

{

    char ch;
    
    while((ch = getchar())! = '#')
         putchar(ch);
  return 0;

}

ANSI C将stdio.h头文件与使用getchar()和putchar()相关联(典型地,getchar()和putchar()不是真正的函数,而是定义为预处理器宏,这一主题我们之后会进行补充现在用***作标记)运行此程序将产生如下所示的交互式结果:
hello[enter]
hello
gogogo#3gogogo[enter]
gogogo
在这个过程我们仍然可以发现一些使用的矛盾,与其说是矛盾不如将之称之为bug,因为不仅仅是运行不出来那就会是bug,而实际上我们在使用键盘的过程中是不会产生这样的冲突的,所以接下来我们会对键盘输入的处理方式进行学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值