为什么Qt使用qint64来代替数据长度和偏移量而不是quint64?

时间:2011-09-26 11:13:04

标签: qt types

QIODevice且相关类使用qint64作为有符号数据类型的位置和大小。是否需要表达负面价值观?因为否则这种类型的8个字节可用于表示更大的尺寸,不是吗?

1 个答案:

答案 0 :(得分:6)

QIODevice中的多个函数返回错误值-1。 Qt经常使用返回值的C样式的错误处理,以避免需要支持使用C ++异常的编译器或平台。检查这些错误代码非常重要。

来自the manual

  • QIODevice::writeQIODevice::writeData

      

    返回实际写入的字节数,如果发生错误,则返回-1。

  • QIODevice::read(char*,qint64)

      

    如果发生错误,...此函数返回-1。

  • QIODevice::readData(char*,qint64)

      

    ...并返回读取的字节数,如果发生错误则返回-1。

  • QIODevice::peek(char*,qint64)

      

    如果发生错误,...此函数返回-1。