在C++中如何读取文本文件中的前一个字符

bvjxkvbb  于 2023-05-24  发布在  其他
关注(0)|答案(4)|浏览(189)

假设我在C++上打开了一个文件,我已经读入了一些字符。有没有一种方法,我可以看到什么是前一个字符,从我目前在文件中?

ovfsdjhp

ovfsdjhp1#

iostream类中有一个名为seekg(和seekp)的函数。它就像一个文件指针。如果你想读取当前字符之前的字符,只需将指针向前移动一个字节(因为char只使用一个字节)。格式为:System. out. println();如果你想了解更多信息,请查看此网站!http://www.cplusplus.com/reference/istream/istream/seekg/希望对你有帮助。

kninwzqo

kninwzqo2#

你可以使用istream::seekg(),比如:

int prevChar = 0;
is.seekg(-2, is.cur); // -2 because we want to read the previous char, -1 will move the position to the current char again 
if (is.good()) {
  prevChar = is.get();
}

这会将当前读取位置移动到前一个字符。

bcs8qyzn

bcs8qyzn3#

你可以存储你读到的最后一行,并得到长度,然后通过将字符串修剪到长度来得到最后一个字符。

g6ll5ycj

g6ll5ycj4#

如果你知道字符在哪一行(也许是获取文件的长度,并计算已经读取的字符),你可以使用seekg。例如:

ifstream myFile;
myFile.open(file);
myFile.seekg(5); //fifth character from start

相关问题