国内服务器
亚洲服务器
欧洲服务器
北美洲服务器
南美洲服务器
大洋洲服务器
非洲服务器

首页>>IDC资讯

干货来袭 用c语言如何实现重定向全解见下文

发表时间:2020-07-30 00:36:10

如何实现重定向呢?首先我们要有一个清楚的思路,比如标题描写、标题及思路分析(有几个要害点)、架构设计、代码、运行成果对这几个点我们要先弄明确,在进行操作。那么用c语言真的能实现重定向吗?我们一起来看看吧!接下来小编就对“干货来袭 用c语言如何实现重定向全解见下文”做一个详细的介绍,盼望以下的全部内容对大家能有所赞助!

一、标题描写

本题是C Primer Plus(5版)第8章编程题第一道题,标题如下:

二、标题及思路分析

从题述来看,有如下几个要害点:

1.有这么一个文本文件

2.读入文件中的文本

3.统计文件中字符数

4.断定文件的结尾

以上4点都做到了,此题解完。那么,这4步的每一步该怎么解决呢?

1. 有这么一个文本文件

这个好解决,事先建立好一个文本文件,里面筹备一些字符。我事先筹备好了一个文本文件,author.txt

2. 读入文件中的文本

这是要解决的第一个要害点。要读文件,一定要得将文件作为程序的输入,解决方法有两个:

1) 应用fopen等函数

这一方法的基础思路是:

a) 应用fopen函数打开一个文件,使得文件作为程序的输入

b) 应用getc等函数读取文件中的字符

c) 应用fclose等函数关闭文件

2) 应用重定向

这一方法应用输入重定向技巧,使得stdin标准输入重定向到文件,而不是键盘。相比上一个方法,代码上要简略的多。本程序采用的是这种方法。

3. 统计文件中字符数

这个好解决,筹备一个计数器。第2步中,每读入一个字符,计数器加1.

4. 断定文件的结尾

这是要解决的第二个要害点,即,如何断定读取已经到了文件末尾。

在C中,针对不同的系统,统一以一个“EOF”来表现文件的末尾。这个“EOF”如果你去看它的定义,可能是一个整数值,比如“-1”。不少的I/O函数,如getchar(),遇到文件末尾后就会返回“EOF”。本程序采用了这个技巧点。

三、架构设计

四、代码

根据上述分析,核心代码如下:

while( (ch = getchar()) != EOF )

{

putchar(ch);

count++;

}

代码应用了getchar函数,每次从文件中读入一个字符,如果不是文件末尾的话,则输出当前字符,并且计数器加1。如果达到了文件结尾,则退出循环。

五、运行成果

运行本程序时,在命令行窗口运行。

如果你打开文本文件,去一个个数字符的话,你会创造只有95个字符,为何运行成果却输出97个字符?

这是因为文本文件中还包含了两个你看不见的字符,就是换行符了,文本文件中包含了2个换行符。

以上的全部内容就是小编对“干货来袭 用c语言如何实现重定向全解见下文”的介绍,盼望对大家能有所赞助。想要懂得更多内容的朋友们请关注桂哥网络!


上一篇 下一篇
最新文章

如何提高云服务器的安全系数

香港独立IP空间有什么优势

香港空间影响百度收录吗

为啥要租用美国VPS

VPS的缺点有哪些

香港vps作用在哪里

VPS的优点有哪些

外贸网站为啥选择美国vps

VPS能建多少个网站

VPS要如何选择位置

相关文章

域名CDN防御的原理是什么?CDN防DDOS

网站建设要怎样选择域名?域名对网站建设有甚么用?

什么是PUE?

防d服务器有哪家IDC商提供?

什么是MAC地址_Mac地址

租用香港cn2 vps怎么样?

俄罗斯专线方案_俄罗斯IEPL_俄罗斯IPLC_俄罗斯MPLS VPN

国外专用服务器的基本功能有哪些

2020年云盘算和云主机行业稳健发展

云主机独享和共享带宽有什么区别

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!