0

我试图在 ifstream 上使用下面的代码两次 - 在我从文件中读取任何内容之前,以及在我读到它的末尾之后(使用readline())。

m_hexFile->m_ifsteam->seekg(0, m_hexFile->m_ifsteam->ios_base::end);
test1 = m_hexFile->m_ifsteam->tellg();
m_hexFile->m_ifsteam->clear();
m_hexFile->m_ifsteam->seekg(m_hexFile->m_startPosition);
test1 = m_hexFile->m_ifsteam->tellg();

m_startPosition 是文件中间的一些位置。对于这个问题并不重要。)

在第一次运行时,代码按预期工作。然后当我第二次运行它时,变量的值test1是-1,即使在使用clear().

我查看了类似的问题,并且所有解决方案都说使用功能clear()(我已经这样做了)。

4

1 回答 1

0

解决方案是在其他地方检查。我已经在程序的其他地方关闭了流。在封闭的流上使用上面的代码当然是行不通的。

于 2021-11-17T06:34:46.187 回答