尝试使用Seekg()重新指导文件
Trying to reread redirected file using seekg()
我正在尝试使用cin.get()读取重定向文件。这是我使用Seekg的示意,但它无法正常工作。
int temp;
while(cin.get(temp))
{
//code here
}
cin.seekg(0,ios::beg);
if(cin.fai())
{
cout << "failed";// it fails
}
通常,重定向文件不支持 seek
操作,因为输入通过 stdin
(或等效),这不支持"四处移动"操作。这是因为尽管内部缓冲区可能很小,但期望是"一旦阅读了东西,它就不再在输入上可用"。
如果您想能够来回走动,请直接打开文件,或创建自己的缓冲区(或找到一次读取输入的方法!)
相关文章:
- 使用新行和不使用新行读取文件
- 如何使用CLion在Mac上创建一个新的.txt文件
- 如何逐行读取文件,每行中的内容都用空格分隔并将其写入新文件中
- 定义C++新的环境变量并在 bat 文件中使用它
- 如何在输入新内容 c++ 之前删除文件中的所有内容
- 如何将图像传入C++可执行文件并将输出图像存储在新目录中?
- 如何检测将文本文件读入 int 数组的新行
- UE4 - Visual Studio在我从编辑器添加新的c ++文件后无法打开任何源文件 - UBT_COMPILED
- 预处理器定义/添加新配置文件
- 尝试使用Seekg()重新指导文件
- 在 XCode 中快速创建和运行新的C++文件
- 在包含新CPP文件后的链接过程中,MSVC 错误
- Xcode-在项目导航器中创建新的C++文件-Order.h和.cpp-Order
- 如何使用替代数据流添加新的文件属性
- 没有 /resetsettings 就无法运行 VS 2015 社区;在打开新项目时获取 CANTLOAD 库,并在新.cpp文件上崩溃
- 添加新头文件时出现C++错误LNK2005
- c++新手头文件问题
- 如何创建一个新的文件夹,如果它已经存在于c++中,则增加其索引
- 创建新文本文件C++时出现问题
- 为什么我无法更改新创建文件的"上次写入时间"?