栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【字符输入输出】-------------------------C Prime Plus 第8章笔记

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【字符输入输出】-------------------------C Prime Plus 第8章笔记

一、从键盘进行输入和输出

计算机在处理数据时,绝大多数文本都是以单字符的方式进行处理。对于单字符输入输出函数,有两种方式:

1.putchar() / getchar() :读取

putchar()用于读取单个字符,包括 空格、制表符和换行符;

putchar()用于输出单个字符,可以输出空格、换行符,制表符。

2.scanf() / printf()

scanf()函数。用于格式化输入,对于输入的字符,可以根据不同的转换说明将其存储为不同的类型,如输入42,用%d的转换说明,程序会将42认为是int型存储起来,用%c则会读取字符4将其以char类型存储,等等;scanf()函数在读取数字时会跳过空格、制表符和换行符。

printf()函数将数据按照转换说明进行格式化输出。

二、从文件进行输入和输出 2.1为什么键盘输入输出可以转换到文件输入输出?

答:文件是存储器中存期信息的区域。C程序处理文件数据时,涉及到了打开、读取、写入和关闭文件,因此c语言并不是对文件直接进行处理,而是处理的是数据流。我们可以将输入输出设备(键盘和显示器)看作是存储器上的普通文件(自动打开的文件),通过标准I/O包中的函数处理键盘输入流(stdin流)和屏幕输出流(stdout流)。

2.2 什么是标准I/O包?

答:对于文件的处理,有两个方面。从较低层面上,C语言可以直接调用操作系统的函数(底层I/O)对文件进行处理,但是由于计算机操作系统各不相同(文件存储方式、文件末尾标记符号、文件大小衡量单位等),所以从较高层面上,C语言可以通过标准I/O库来处理文件(第一部分中函数或者宏)。

2.3 C语言如何处理文件呢?

答:在这里只介绍如何检测文件结尾,具体的其他处理方法看第13章。文件中的结尾一般由一行开头的ctrl+z /ctrl+D(windows)键进行文件结尾的标记;在C语言中,输入函数在检测到文件结尾后,会返回一个特殊值EOF(end of file),该值在stdio.h头文件中已经定义过,系统会将该值定义为-1或者其他的负值,在使用时可以用 int ch;while(  (ch = getchar() ) != EOF  )进行使用。

2.4 为什么ch 是int 类型?

答:这是因为 getchar()会返回一个int型的值,如果使用char类型,可能会有数据丢失风险。

2.5 怎么通过键盘和显示器实现对文件的读写和输入呢?

默认情况下,对于输入函数,程序会在键盘或者是显示器上寻找输入输出,现代计算机非常灵活,可以让程序去文件中查找输入,而不是键盘;可以让程序在文件中进行输出,而不是显示器。因此我们需要进行重定向,实现对查找输入 和 输出的重新定位。

1.重定向输入:

 对于写好的c程序,我们对其进行编译(只编译,不运行),在文件夹中,我们可以找到一个exe的可启动程序,打开命令提示符(CMD);输入exe程序所在位置,此时C语言可以通过键盘输入在命令行中进行运行;

 我们在任一位置创建一个txt文本文件,此时我们要让程序从这个文本文件中读取输入,而不是键盘,这里需要用到重定向符号:<(符号两边不允许有空格);在命令行中输入C程序地址后加上重定向符号和txt文本文件的位置(文件名后加.txt,不然可能会报错);此时,程序便从文件中读取输入了。

2.重定向输出:

 C语言可以通过键盘输入在命令行中进行运行时,输出的字符会显示在显示器上;

 此时我们就要让程序输出结果到一个文件夹中,而不是显示器上,这里需要用到第二个重定向符号:>(符号两边不允许有空格);在命令行中输入C程序地址后加上重定向符号和txt文本文件的位置(如果在该位置没有这个文件,程序会自行创建文件,文件名后加.txt,不然可能会报错);此时,程序便将结果输出到文件中了。

 3.结合起来

可以通过< > 把这两个结合起来,从文件中读入,输出结果到文件中(拷贝文件),两个顺序不影响;

4.注意事项

①在一条命令中,输入文件名和输出文件名不能相同;

②重定向符链接一个可执行程序和一个数据文件,不能是两个可执行程序或者两个文件;

③重定向符号只能读入一个文件,也只能输出一个文件,输出或者读入多个文件都是错的;

 2.6 无法使用重定向符怎么办?

答:如果使用不了重定向符,可以用程序直接打开文件(重定向符是用命令行打开文件),具体13章进行讲解。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1012822.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号