如何解决Qt为什么实现QFile :: size返回qint64而不是quint64
因此,通过查看QFile文档,我发现QFile::size()返回了qint64。
如果QFile::size()返回一个无符号整数,即quint64,因为文件大小从0字节到0字节不等,这是有意义的(至少对我而言)。 QFile::size()
从父类(即QFileDevice::size())重新实现某些方法,并从QIODevice::size()重新实现。在所有这些实现中,都没有提及负数,即-1等。
QIODevice::size()中的基本实现具有说明:
对于开放式随机访问设备,此函数返回 设备。对于开放式顺序设备,将返回bytesAvailable()。
如果设备关闭,返回的大小将不反映实际大小 设备的大小。
在指示qiodevice::size()
返回类型的QIODevice::bytesAvailable()中也没有提到-1返回值,但是其返回类型也是qint64
。
这是Qt的设计决策吗,如果文件大小较大,它也可以使用负数,并且也可以扩展其父类,即
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。