eof函数与peek(c++里读写文件函数i_file.good()使用问题,代码如下)

:暂无数据 2026-08-11 19:50:06 :1

eof函数与peek(c++里读写文件函数i_file.good()使用问题,代码如下)

大家好,今天小编来为大家解答以下的问题,关于eof函数与peek,c++里读写文件函数i_file.good()使用问题,代码如下这个很多人还不知道,现在让我们一起来看看吧!

本文目录

c++里读写文件函数i_file.good()使用问题,代码如下

这是一个很经典的问题了。

while(i_file.good())和while (!i_file.eof())存在同样的问题,你到网上搜一下“C/C++文件之eof()”,就明白怎么回事了。

注意最后一段话:

“2. 读取文件过程中,读取非char型时,使用peek判断文件尾将不再适用,循环判断条件应改用》》操作符进行读取,若读入char型缓冲区,peek函数会表现得很好。”

最后一次i_file 》》 out_text实际上读取失败了,但是并不会把原先的out_text清空,所以仍然输出了上一次读取的out_text的值。

正确的写法应该是:

while (i_file 》》 out_text)
        {
            cout 《《  out_text 《《  endl;
        }

标准输入流的其他函数

eof函数
eof是end of file 的缩写,表示“文件结束”。从输入流读取数据,如果到达文件末尾(遇到文件结束符),eof函数值为非零值(表示真),否则为0(表示假)。
peek函数
peek是观察的意思,peek函数的作用是观测下一个字符。
调用形式为c=cin.peek();
putback函数
调用形式为cin.putback(ch)
其作用是将前面用get或者getline函数从输入流中读取的字符ch返回到输入流,插入到当前指针的位置,供后面读取。
ignore函数
调用形式为cin.ignore(n,终止字符)
函数作用是跳过输入流中n个字符,或在遇到指定的终止字符时提前结束(此时跳过包括终止字符在内的若干字符)。

C++文件读取问题!什么情况下会一直读入 -1 ,但是判断eof()却一直为0

不是你的文件有问题,问题肯定出在in.eof()的判断上,其实已经读到文件末尾了,所以peek()返回的是-1,但是eof没有返回应该返回的true。具体是什么原因,你要去查查eof()函数的使用方法。

你跟踪一下eof()返回的值,你会发现返回了一个很大的整数,而不是0或者-1,所以导致一直循环。

把
while(temp!=ch&&!in.eof());
改成while(temp!=ch && cin.peek() != EOF); 问题解决

while (file.peek()!=EOF)最后一个数据总是读两次

file.peek() 偷看下一个字符,1234 后面如果是空格,是回车,它看到的是 是空格,是回车,不是 EOF.
file》》tmp; (tmp 是 int),它的输入 自动 越过 空白 往下找 整数,没找到,却遇到 EOF,文件状态标志变EOF。tmp 里是上次读入的4。
你未及时 测 EOF , 却 vec.push_back(tmp); 重复输出了 4 。
file.peek() 偷看下一个字符,由于文件状态标志是EOF,这才终止循环。

文章分享结束,eof函数与peek和c++里读写文件函数i_file.good()使用问题,代码如下的答案你都知道了吗?欢迎再次光临本站哦!

eof函数与peek(c++里读写文件函数i_file.good()使用问题,代码如下)

本文编辑:admin

更多文章:


怎么做网站网页归档(网页应该怎么做网页设计有哪些要求)

怎么做网站网页归档(网页应该怎么做网页设计有哪些要求)

大家好,怎么做网站网页归档相信很多的网友都不是很明白,包括网页应该怎么做网页设计有哪些要求也是一样,不过没有关系,接下来就来为大家分享关于怎么做网站网页归档和网页应该怎么做网页设计有哪些要求的一些知识点,大家可以关注收藏,免得下次来找不到哦

2026年10月11日 05:30

跷二郎腿太低好吗?想要通过贴墙站改正二郎腿影响的话,有哪些要点需要注意

跷二郎腿太低好吗?想要通过贴墙站改正二郎腿影响的话,有哪些要点需要注意

本篇文章给大家谈谈二郎腿贴地,以及跷二郎腿太低好吗对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 05:10

易语言点击js按钮(易语言网页填表怎样点击链接为“javascript:void(0)“的按钮)

易语言点击js按钮(易语言网页填表怎样点击链接为“javascript:void(0)“的按钮)

本篇文章给大家谈谈易语言点击js按钮,以及易语言网页填表怎样点击链接为“javascript:void(0)“的按钮对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要

2026年10月11日 03:00

regards(Regards,什么意思)

regards(Regards,什么意思)

其实regards的问题并不复杂,但是又很多的朋友都不太了解Regards,什么意思,因此呢,今天小编就来为大家分享regards的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 01:10

dom4j文档(如何去掉用dom4j生成的XML文档中的)

dom4j文档(如何去掉用dom4j生成的XML文档中的)

其实dom4j文档的问题并不复杂,但是又很多的朋友都不太了解如何去掉用dom4j生成的XML文档中的,因此呢,今天小编就来为大家分享dom4j文档的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 01:00

compare with造句(用compared with和compared to造句)

compare with造句(用compared with和compared to造句)

“compare with造句”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看compare with造句(用compared with和compared to造句)!

2026年10月10日 23:30

xshell软件(Xshell怎么更改字体大小)

xshell软件(Xshell怎么更改字体大小)

各位老铁们好,相信很多人对xshell软件都不是特别的了解,因此呢,今天就来为大家分享下关于xshell软件以及Xshell怎么更改字体大小的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月10日 22:50

tensorflow与keras对应版本(为什么tensorflow2.8没有keras)

tensorflow与keras对应版本(为什么tensorflow2.8没有keras)

各位老铁们好,相信很多人对tensorflow与keras对应版本都不是特别的了解,因此呢,今天就来为大家分享下关于tensorflow与keras对应版本以及为什么tensorflow2.8没有keras的问题知识,还望可以帮助大家,解决

2026年10月10日 22:10

个人网站首页界面(深圳社会保险服务个人网页主页)

个人网站首页界面(深圳社会保险服务个人网页主页)

“个人网站首页界面”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看个人网站首页界面(深圳社会保险服务个人网页主页)!

2026年10月10日 22:00

maven仓库jar网站(如何在maven仓库中添加jar包)

maven仓库jar网站(如何在maven仓库中添加jar包)

这篇文章给大家聊聊关于maven仓库jar网站,以及如何在maven仓库中添加jar包对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月10日 19:50

最近更新

infostation(infostation是什么)
2026-10-11 07:40:32 浏览:0
bt软件安装(bt的打印软件怎么安装)
2026-10-11 07:00:01 浏览:0
热门文章

by网站域名444(444ppp现在是什么域名)
2026-08-19 20:20:31 浏览:13
韩国大片视频mv(韩国20个感人mv)
2026-07-11 13:10:02 浏览:12
标签列表