问题描述 投票:0回答:1

问题:


触发此例外的可能原因是什么?
这可能是由于文件权限,锁定或磁盘错误吗?
在那里有任何特定方案,其中
fread
失败,但
    feof
  • 仍然是错误的?
  • 我应该如何正确处理此例外,以区分不同的故障场景?
  • 我知道
  • nRead == 0
    表示没有读取字节,但是由于
    feof(m_pStream)
    是错误的,因此表明尚未达到EOF。
    
    也是在调用
  • CStdioFile::Read
  • 之前,我们已经检查了该文件是否也使用
  • CStdioFile::Open
函数打开。

Q:
触发此例外的可能原因是什么?

a:

最可能的磁盘I/O错误,未能从虐待的CDROM中读取,损坏的硬盘驱动器,网络错误,在阅读时删除USB棒等等。
Q:

这可能是由于文件权限,锁定或磁盘错误吗?
c++ file mfc
1个回答
0
投票
在上面看到答案。很可能不是文件权限,因为您无法首先打开文件文件。锁定?不太可能,但我不太确定这里。

Q:

在壁画失败的情况下有任何特定方案,但Feof仍然是错误的?

a:


IMO只有错误,请参见上面的问题。
Q:

我应该如何正确处理此例外,以区分不同的故障场景?
a:

取决于您的用例。但很可能不是。您是从文件中读取的,您会收到错误,然后将其处理,例如显示错误消息。


© www.soinside.com 2019 - 2025. All rights reserved.