问题标签 [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++ - C++读/写二进制模式
我在学校学习 C++,在我看来它是一门漂亮的语言,但我有这个烦人的问题。FILE *text
课本上是用andscanf
和写的printf
,我个人不喜欢;我习惯了cin
and cout
or with<<
>>
更好的说法fstream
。
所以这是我的问题:
我必须制作一个以二进制模式写入数据的应用程序(我已经完成了一半,但由于某种原因它没有以二进制模式写入)
在我写下城市(orasul)坐标(x 和 y)后,我必须搜索它们并获取这些值。(这里我尝试使用
string.find
)但我必须使用seekg
“二进制模式”搜索并将这些值在结构中分开。
如果你们能以某种方式指导我,因为我在这里很迷失。有没有办法让我得到sizeof(struct)
?
c++ - fstream seekg()、seekp() 和 write()
我正在寻找有关您何时写入文件的方式seekg()
和工作方式的一些说明。seekp()
比如说我有一个像这样的文件:
现在我想打开文件并尝试读取和写入值。
现在我想写到文件的末尾。由于该seekg()
函数只移动搜索光标,我的seekp()
光标应该仍然在文件的末尾,对吧?所以:
应该使我的文件现在看起来像:
现在,如果我选择寻找偏移量并将其值作为偏移量写入刚刚插入的值,我的文件会发生什么情况。例如,我想offset 8
保留eofOffset = 20
,因为我们刚刚在那个偏移量处插入了 12。
如果我做:
它是否正确地将我的文件重写为如下所示:
seekg()
如果我在使用和seekp()
函数时出现任何错误,请告诉我。
c++ - Why seekg does not work with getline?
Seekg does not seem to work, when I reach EOF in myFile.
So, now I am opening input stream every loop:
But I would rather seek to position 0. How can I achieve that?
c++ - C ++从文件末尾向后读取文件
我正在尝试编写一个带有菜单的程序,该菜单以几种不同的方式从文本文件中读取。我仍在处理菜单选项#2(从文件末尾向后读取),但我无法理解我做错了什么。我已经在这里待了几天了,只是找不到任何好的资源来帮助解决这个问题。任何帮助,将不胜感激。
c++ - c ++从文件开头读取到指定字节
试图将一个文件从文件中的第一个字节读取到用户指定的字节。我需要逻辑上的帮助。例如,如果文件只有字母 a 到 z,我只想读取并显示前 10 个。这是我写的一段:
c++ - 到达文件结尾后从文件中读取
我有一个名为的函数readNextString(ifstream &file , char* &pBuffer)
,它从文件中提取下一个字符串,直到','
或'\n'
到达,删除字符串开头和结尾的空格,将其余部分保存在 pBuffer 中,如果一切正常则返回 true - 否则返回 false。一切正常,直到到达文件末尾。设置eof
标志后,我无法移动我的 get 指针。我试过这个:
...然后删除字符串末尾的空格。这几乎有帮助。该函数提取没有空格的字符串,但我得到一个无限循环。
我的实际问题是:如何检查下一个字符是否为EOF
,如果不能 - 有没有其他方法可以做到这一点?
这是我的实际功能:
这就是我称之为的一个地方:
希望我足够清楚。如果您发现一些其他错误或可能的错误,我会很高兴听到并从中学习。
c++ - ifstream seekg 有什么问题
我正在尝试寻找并重新读取数据。但代码失败。
代码是
我的输入测试文件是
输出是
谁能告诉我怎么了?
c++ - C++ 慢读/寻道
在我的程序中,我读入了一个文件(这里只有一个大约 200k 数据点的测试文件,之后会有数百万个数据点。)现在我要做的是:
其中 n 表示要读入的点数。
之后我再次用
从而写入比读取快。(用clock_t测量的时间)
我的问题是现在。我在阅读时犯了一些相当愚蠢的错误,还是可以预料到这种行为?
我正在使用带有磁驱动器的 Win XP。
你的magu_
c++ - 寻找,相对还是绝对位置?
我需要从文件中读取一个数组。数组在文件中不是连续排序的,必须跳转“偏移”字节才能获取下一个元素。假设我读取了一个非常大的文件,那么效率更高。
1) 使用增量相对位置。
2) 使用绝对位置。
选项1:
选项2:
c++ - Seekg(ios::beg) 不返回重定向输入的开头
我正在制作一个霍夫曼编码器,为此我需要读取输入(始终是重定向文件)以记录频率,然后创建代码本,然后再次读取输入,以便我可以对其进行编码。
我的问题是我目前正在尝试测试如何使文件从 cin 读取两次。
我在网上读到 cin.seekg(0) 或 cin.seekg(ios::beg) 或 cin.seekg(0, ios::beg) 只要文件被重定向而不是管道,都应该工作得很好。但是当我这样做时,它似乎对cin的位置没有任何作用。
这是我目前正在使用的代码:
调试显示它卡在第 40 行的 while 循环中,并且似乎不断获得换行符。为什么它不退出这个循环?我假设 cin.seekg() 实际上并没有重置输入。