问题标签 [seekg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何使用带有字符串输入的 seekg 从二进制文件中获取记录
我的示例文本文件如下所示:
目前我编写了一个函数来从指定的二进制文件中读取记录:
Staff
是一个由name
和email
字段组成的结构。然后我将根据用户输入获取记录:
然后,如果用户的输入是数字(现在为 1 和 2,因为我只有 2 条记录),那么我已经成功读取了数据,seekg
如果用户输入的是电子邮件而不是记录号,我该如何检索相同的结果?
c++ - fstream - How to seekg() to position x from end
I'm looking for a way to set my get pointer at position x from the end of an fstream.
I tried
But according to this question, this line is undefined behavior.
- How can I, in any way, seek to position x from the end of a fstream?
c++ - ifstream如何使用c ++从特定行开始读取行
我ifstream
用来解析 C++ 代码中的文件。我无法使用seekg()
和tellg()
跳转到代码的特定行。
特别是我想用getLine方法从文件的特定位置读取一行。上一次迭代中保存的位置。
c++ - 转到文件中的特定行并阅读它
问题描述
我有一个包含一组行的文件。一个
文件 1:
基于用户输入的行的开头和结尾。我想转到文件中的每一行并提取它。
例如,如果用户键入1、17 ,那么我必须转到大小为17 个字符的第1行。他可以给出文件中的任何行号。
我从文件 C++ 的特定位置阅读了以下答案。但我真的不明白。为什么线的大小必须相同?如果我有关于文件中每一行的开头和结尾的信息。为什么我不能直接访问它?
源代码
我尝试使用以下代码,该代码受使用 Seekg 从文件中指定位置读取数据的启发,但我无法提取行,为什么?
c++ - 如果不存在使用 seekp/seekg 的文件,则使用 fstream 创建文件?
文件不存在时出错。if ( ! file ) = true
使用ios::app
seekg
&seekp
功能不起作用。file.seekg(4, ios_base::beg);
我想拥有:
- USER 输入文件名
- 如果不存在则创建文件
- 使用 seekg & seekp;
- 如果您再次运行该程序,请不要删除该文件。
c++ - 文本文件二进制搜索
我有一个看起来像这样的测试文件:
看起来像这样的代码:
我能够检索列表中除第一条记录之外的所有记录。似乎 seekg 正在寻找正确的位置,但 cardNumbers 没有读取正确的信息。当 'middle' 设置为 0 时,seekg 应该寻找到第 0 行,(middle * 57),读取 Ampersand Gregorina 并进行比较。相反,它仍然阅读安德森鲍勃。
关于为什么会发生这种情况的任何想法?
谢谢
c++ - fstream 和 seekg 未按预期运行
循环内部while
真正做的就是从当前位置移动到末尾,然后回到当前位置。然后它输出流中剩下的每个字符。除了类似以下的输入文件:
我的输出是
我觉得很奇怪,e
错过了。如果我在命令之前移动输出其余流的循环部分input.seekp(0, fstream::end);
,即
然后e f g
像正常一样获得输出。所以当流被放置到最后,然后回到它的原始位置时,由于某种原因它没有放置在正确的位置并且错过了e
?
如果我将所有内容从一个更改fstream
为字符串流:
然后它像我期望的那样输出。
为什么seekg(read_mark)
不让它回到原来的位置?(mingw64 gcc 5.2.0)。
编辑:input.tellg()
移动之前和移动input.tellg()
之后都输出相同的值 7。
c++ - 如何在 C++ 中使用 seekg 和 seekp 附加到文件,而不使用 ios::app 标志
使用 seekp 和 seekg 函数时我没有得到正确的输出,而另一方面,当我使用 ios::app 进行附加时,程序运行良好。我应该如何使用 seekg() 和 seekp() 函数来追加文件?
c++ - 使用 seekg() c++ 从文件末尾搜索字符
我有一个文件,我只想将最后一行输出到控制台。
这是我对如何做到这一点的想法。用于file.seekg(0, ios::end)
将自己置于文件末尾。
然后,我可以创建一个递减变量int decrement = -1;
并使用一个 while 循环
并获得我最后一行的起始位置(从末尾向后)。
知道这一点,joke.seekg(decrement, ios::end);
应该将我设置到最后一行的开头,并假设我之前声明过string input;
我会认为
会将其输出到控制台。
完整代码
问题是,当我为文件调用此方法时,什么也没有发生。当我逐步通过它时,减量只是继续减去一个,远远超出了 a 的范围'\n'
。举一个文本文件的例子,它看起来像这样:
垃圾
垃圾
跳过这一行
这是我们正在寻找的线路!
c++ - 如何告诉程序从哪里开始读取 .txt 文件?
我希望我的程序能够记住它在.txt
文件中的中断位置,以便在通过循环重复时继续下一个输入。例如,一个文本文件包含:
将通过GetItem()
将下一个文件输入附加到项目向量中的函数访问。如何使函数添加Apples
第一次、Bananas
第二次和Oranges
第三次迭代?截至目前,每次调用都会GetItem()
将第一个元素添加到向量中,给出一个包含以下内容的向量:
因为文件从头开始一直打开。任何帮助,将不胜感激。
这是我可以包含的大量代码的简化版本,但会分散问题的主要目的。如果需要代码,我很乐意将其包含在内。