前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >c++ fstream流seekg()重定位问题

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

作者头像
全栈程序员站长
发布于 2022-06-28 06:35:40
发布于 2022-06-28 06:35:40
73500
代码可运行
举报
运行总次数:0
代码可运行

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#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.cn/132945.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
c++文件读写操作
近期适配几款游戏的数据,因为重复量太大,因此写一个对数据进行处理的程序,下面是整个过程中接触到的一些东西。
全栈程序员站长
2022/09/05
1.3K0
c++文件读写操作
C++ IO流_数据的旅行之路
程序中的数据总是在流动着,既然是流动就会有方向。数据从程序的外部流到程序内部,称为输入;数据从程序内部流到外部称为输出。
一枚大果壳
2022/09/16
8250
C++ fstream 二进制读写文件 (一个文件备份的例子)
直接上代码: #include <iostream> #include <string> #include <vector> #include <fstream> bool ReadFile(std::string& strFile, std::vector<char>& buffer) { std::ifstream infile(strFile.c_str(), std::ifstream::binary); if (!infile.is_open()) { p
xcywt
2021/11/29
3.2K0
seekg的应用案例
在学习C++文件流控制时(链接)我们知道C++有一个标准库fstream 该库定义了三个数据类型 ofstream ifstream 和 fstream 在练习相应的案例时,seekg() 函数掌握的不是很好,后经过多次尝试,可以正常调用了
全栈程序员站长
2022/08/31
3630
C++ fstream详解[通俗易懂]
C语言里面对文件的操作是通过文件指针,以及一些相关的函数,那么C++中是如何对文件进行操作的呢?没错,就是通过 fstream 这个文件流来实现的。当我们使用#include 时,我们就可以使用其中的 ifstream,ofstream以及fstream 这三个类了(ofstream是从内存到硬盘,ifstream是从硬盘到内存),也就可以用这三个类来定义相应的对象了,这三个类分别代表一个输入文件,一个输出文件,以及一个输入输出文件。Ifstream类支持>>操作符,ofstream类支持<<操作符,fstream类同时支持>>和<<操作符。
全栈程序员站长
2022/11/05
2.1K0
C++中fstream_在使用中
C++中处理文件类似于处理标准输入和标准输出。类ifstream、ofstream和fstream分别从类 istream、ostream和iostream派生而来。作为派生的类,它们继承了插入和提取运算符(以及其他成员函数),还有与文件一起使用的成员和构造函数。可将文件<fstream> 包括进来以使用任何fstream。如果只执行输入,使用ifstream类;如果只执行输出,使用 ofstream类;如果要对流执行输入和输出,使用fstream类。可以将文件名称用作构造函数参数。
全栈程序员站长
2022/10/02
5.7K0
C++中fstream_在使用中
C++017-C++文件读写应用
在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/
用户2225445
2023/10/16
4800
C++017-C++文件读写应用
C++进阶--文件和流
函数原型:istream& getline ( istream &is , string &str , char delim );
软件架构师Michael
2023/08/09
2840
如何用C++做文件和流
⭐本文介绍⭐ 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。
iOS Magician
2023/03/22
7000
如何用C++做文件和流
⭐本文介绍⭐ 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。
爱学iOS的小麦子
2023/05/09
6580
IO流
IO流使用cout进行输出cout格式化调整字节宽度以及填充字符setf()相关字符串流文件流
DeROy
2020/05/12
6840
8.1 C++ 标准输入输出流
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
王瑞MVP
2023/10/21
2930
8.1 C++ 标准输入输出流
vs中没有vc_vs中的控件
头文件fstream包含了ifstream、ofstream、fstream三个类,可以通过定义这三个类的对象来实现相对应的文件操作。
全栈程序员站长
2022/09/30
7740
f stream_fstream
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;
全栈程序员站长
2022/09/29
5000
C++中的文件和流
所需头文件: #include<iostream> #include<fstream> 标准库fstream中定义了三种新的数据类型: ofstream 表示输出文件流,用于创建文件并向文件写入信息 ifstream 表示输入文件流,用于从文件读取信息 fstream 同时具有上面了两种数据类型的功能,可以创建文件,向文件写入信息,从文件读取信息 打开文件 从文件中读取信息或者向文件写入信息之前,必须先打开文件。 void open(const char *filename,ios::openmode
青木
2018/05/28
1.1K0
C++中文件读写操作
在 C++ 编程中,使用流提取运算符( >> )从文件读取信息,就像使用该运算符从键盘输入信息一样。唯一不同的是,在这里使用的是 ifstream 或 fstream 对象.
李小白是一只喵
2020/04/23
9730
C++中文件读写操作
【C++学习】 IO 流揭秘:高效数据读写的最佳实践
🚀C++ IO 流(输入输出流)是一种用于处理数据流的机制,允许程序读取和写入数据。它包括
IsLand1314
2024/10/15
3510
【C++学习】 IO 流揭秘:高效数据读写的最佳实践
c++输入文件流ifstream用法详解
每个IO 对象都维护一组条件状态 flags (eofbit, failbit and badbit),用来指出此对象上是否可以进行 IO 操作。如果遇到错误—例如输入流遇到了文件末尾,则对象的状态变为是失效,所有的后续输入操作都不能执行,直到错误纠正。
全栈程序员站长
2022/07/02
2K0
c++输入文件流ifstream用法详解
实战中遇到的C++流文件重置的一个大陷阱 为什么ifstream的seekg函数无效
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
全栈程序员站长
2022/09/02
4920
实战中遇到的C++流文件重置的一个大陷阱 为什么ifstream的seekg函数无效
C++ 读写TXT文件
参考博客:https://blog.csdn.net/u013749068/article/details/78761553
全栈程序员站长
2022/08/22
8290
C++ 读写TXT文件
相关推荐
c++文件读写操作
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文