假设我在C++上打开了一个文件,我已经读入了一些字符。有没有一种方法,我可以看到什么是前一个字符,从我目前在文件中?
ovfsdjhp1#
iostream类中有一个名为seekg(和seekp)的函数。它就像一个文件指针。如果你想读取当前字符之前的字符,只需将指针向前移动一个字节(因为char只使用一个字节)。格式为:System. out. println();如果你想了解更多信息,请查看此网站!http://www.cplusplus.com/reference/istream/istream/seekg/希望对你有帮助。
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(); }
这会将当前读取位置移动到前一个字符。
bcs8qyzn3#
你可以存储你读到的最后一行,并得到长度,然后通过将字符串修剪到长度来得到最后一个字符。
g6ll5ycj4#
如果你知道字符在哪一行(也许是获取文件的长度,并计算已经读取的字符),你可以使用seekg。例如:
ifstream myFile; myFile.open(file); myFile.seekg(5); //fifth character from start
4条答案
按热度按时间ovfsdjhp1#
iostream类中有一个名为seekg(和seekp)的函数。它就像一个文件指针。如果你想读取当前字符之前的字符,只需将指针向前移动一个字节(因为char只使用一个字节)。格式为:System. out. println();如果你想了解更多信息,请查看此网站!http://www.cplusplus.com/reference/istream/istream/seekg/希望对你有帮助。
kninwzqo2#
你可以使用istream::seekg(),比如:
这会将当前读取位置移动到前一个字符。
bcs8qyzn3#
你可以存储你读到的最后一行,并得到长度,然后通过将字符串修剪到长度来得到最后一个字符。
g6ll5ycj4#
如果你知道字符在哪一行(也许是获取文件的长度,并计算已经读取的字符),你可以使用seekg。例如: