【发布时间】:2013-10-10 15:33:05
【问题描述】:
假设我有一个包含整数的文件,格式为
1 57 97 100 27 86 ...
假设我有一个输入文件流 fin 我尝试从文件中读取整数。
ifstream fin("test.txt");
int val;
fin>>val;
现在我在一个 while 循环中执行此操作,在某个时间段内,我想将我的文件指针恰好向后移动一个整数。也就是说,如果当我执行fin>>val 时我的文件指针即将读取整数27,我想移动文件指针,以便在执行fin>>val 时它可以读取整数100。我知道我们可以使用fin.seekg(),但我只用它来按字符移动文件指针,而不是按整数。
这可能是一个幼稚的问题。但是有人可以帮帮我吗?
【问题讨论】:
-
这不是一个幼稚的问题,也不是一件小事,您必须确定数字的长度(以字符为单位)才能相应地移动文件指针。为什么不直接读取所有数字,将它们存储在一个向量中,然后反向读取呢?
-
如果您将文件设为二进制而不是文本,会更容易。当您已经知道它是什么数字时从文件中重新读取数字似乎有点愚蠢
-
只是好奇:我的回答有帮助吗?如果不是,那有什么问题?