首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

seekg前记得手动清除EOF标志位

之前在第一次读取完毕后(此时EOF已经置位),直接调用 is.seekg(0,is.beg) ; 然后下次读取时直接退出了,即EOF标志位并没有被清除。...可以看到,按照标准库说法,C++98时如果EOF被置位,那么调用seekg会失败;但是在C++11中,上面说会首先清除EOF标志位。...然而,我测试 g++ 4.8.5, 指定-std=c++11 , 以及使用VS2015,发现seekg均失败。 照理说这些编译器应该都实现C++11标准了,然而这个问题依然如此。 这还是有些尴尬的。...标准一回事、实现一回事,而且两个主要实现都不支持新标准… 不得不让我联想起空穴来风这个成语来了… 解决 一定在seekg之前手动clear掉(EOF)标志位。...is.claer() ; is.seekg(0 , is.beg) ; 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144769.html原文链接:https:/

40910

C++读写文件操作(fstream、ifstream、ofstream、seekg、seekp、tellg、tellp用法)

本文主要总结用C++的fstream、ifstream、ofstream方法读写文件,然后用seekg()、seekp()函数定位输入、输出文件指针位置,用tellg()、tellp()获取当前文件指针位置...seekg():输入文件指针跳转函数。表示将输入文件指针跳转到指定字节位置‘ seekp():输出文件指针跳转函数。表示将输出文件指针跳转到指定位置。...; system("pause"); return false; } finout.seekg(0); //输入流文件跳转指针,回到文件起始位置 cout << "show red file...finout.clear(); //清空结尾eof标志,可以再次打开该文件 /*写文件*/ streampos place = 3 * sizeof p1; //转换到streampos类型 finout.seekg...attempted write\n"; system("pause"); exit(EXIT_FAILURE); } /*显示修改后的文件内容*/ ct = 0; finout.seekg

2.1K20

【贪玩巴斯】CC++文件IO流操作的 seekp和seekg详解「建议收藏」

文件流对象有两个成员函数,分别是 seekp 和 seekg。 它们可以用于将读写位置移动到文件中的任何字节。...1.seekp和seekg的区别和记忆点 1.seek 是寻找 寻求的意思 2.tell 是告诉 告知的意思 3.那 p 即put 放和输出的意思,在这里是保存到文件 4.那 g 即get 是获取...,读入的意思,在这里是从文件读取 所以 1.seekp 可用于将信息 put(放入 写入)到文件中 2.seekg 则可用于从文件中 get(获取)信息。...3.下面 显示了 seekp 和 seekg 使用不同模式标志的示例。...(字节 100) file.seekg(40L, ios::cur); 将读取位置设置为从当前位置开始的第 41 个字节(字节 40) file.seekg(0L, ios:rend); 将读取位置设置为文件末尾

1.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券