c++ fstream流seekg()重定位问题

c++ fstream流seekg()重定位问题  在看c++中fstream时,突然想到一个问题。当读取完整个文件之后如果再想读取一遍该如何去写?首先想到seekg()函数把读指针重定位到文件开头。但是我试了一下发现指针并没有移动,后来才搞清楚原来是当读指针指到EOF后就没办法再进行指针的控制了。#include<iostream>#include<fstream>#include<string&g…

大家好,又见面了,我是你们的朋友全栈君。

    在看c++中fstream时,突然想到一个问题。当读取完整个文件之后如果再想读取一遍该如何去写?首先想到seekg()函数把读指针重定位到文件开头。但是我试了一下发现指针并没有移动,后来才搞清楚原来是当读指针指到EOF后就没办法再进行指针的控制了。

#include<iostream>
#include<fstream>
#include<string>
using namespace std;

int main()
{
	fstream outFile("test.txt");
	if(!outFile.is_open())
	{
		exit(EXIT_FAILURE);
	}

	string str;
	int x = 3;
	while (x--)
	{
		cin >> str;
		str += "\r\n";
		outFile.write(str.c_str(), str.length());
	}
	outFile.close();

	fstream inFile;
	inFile.open("test.txt");
	if (!inFile.is_open())
	{
		cout << "open infile error" << endl;
	}
	
	char buffer[32];
	int size = sizeof(buffer);
	while (inFile.getline(buffer, size))
	{
		cout << buffer << endl;
	}

	cout << "second" << endl;
	inFile.clear();
	inFile.seekg(0, ios::beg);
	string read_line;
	while (getline(inFile, str))
	{
		cout << str << endl;
	}

	inFile.close();

	system("pause");
	return 0;
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132945.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm代码规范工具flake8

    pycharm代码规范工具flake8文章目录代码规范一、flake8是什么?二、使用步骤1.引入库2.读入数据总结代码规范随着计算机语言的发展,代码规范是我们写代码时更应该注意的东西,在我们使用pycharm进行代码编写时,我们可以借用pycharm工具flake8进行代码规范检查,从而使代码规范符合标准要求。代码规范可以减少bug,有助于代码审查,降低维护成本,更重要的是在大型项目中,大家使用一套共同的代码标准,这更能够提升团队间的合作效率。一、flake8是什么?Flake8是一款辅助检测Python代码是否规范的工具

    2025年9月3日
    5
  • jupyterlab和pycharm_jupyternotebook和pycharm的区别

    jupyterlab和pycharm_jupyternotebook和pycharm的区别目录一、pycharm项目新建及使用二、Jupyter项目新建及使用三、三种代码编辑方式对比一、pycharm项目新建及使用1.新建pycharmproject(第二节中有讲)2.新建python文件:右键点击新创建的pycharmproject->new->pythonfile3.写代码,右键点击“run***(文件名称)”即可4.还有一种写程序的方式是在pythonconsole,这里的代码是一行一行运行的,在本行写一个,点击enter就会运行二

    2022年8月25日
    6
  • 周鸿祎:做一个产品彻底改变世界

    周鸿祎:做一个产品彻底改变世界近来,作为管理营销类书籍,小米联合创始人黎万强的《参与感》火得不得了。就连曾经和小米有些“过节”的奇虎360董事长周鸿祎亦不吝溢美之词,一反常态推荐该书。其实除了《参与感》外,另外一本同类型新书也长期占据着京东、当当和亚马逊的热销书榜前列位置,那就是周鸿祎自己所著的《周鸿祎自述:我的互联网方法论》如果说《参与感》充分体现出黎万强其人的特色:设计师语言、细腻实在、真实鲜活,《我的互联网方法论》则

    2022年7月26日
    4
  • 我用Java+Redis+ES+Kibana技术对数百万知乎用户进行了数据分析,得到了这些…

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:_artoria_ http://tinyurl.com/quscxyl 1. 前言 我是一个真正的知乎小白。…

    2021年6月25日
    92
  • 5G的网络切片功能概述「建议收藏」

    5G的网络切片功能概述「建议收藏」5G的网络切片功能概述网络切片的定义我们为什么需要网络切片?移动网络的传统商业模式已经到达瓶颈,处于增量不增收的状态。为了激发垂直行业的新模式,增强大众网细分的能力,我们推出了5G网络切片功能,提供更加完整的隔离、差异化、高效和友好运营的网络能力。切片的本质:提供逻辑网络,提供特定的网络功能和特性。切片实例:一组网络功能实例以及相关资源(计算、存储、网络)网络切片的架构网络切片架构有利于运营商按垂直行业的需求对网络进行定制,从而优化网络性能。5G支持端到端网络..

    2022年10月2日
    5
  • Nginx深入详解之upstream分配方式

    Nginx深入详解之upstream分配方式upstreamback server192 168 1 128 8081weight 1 server192 168 1 128 8082weight 2 server listen80 server name0 0 0 0 location proxy pa

    2025年7月17日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号