QBuffer :: open返回值是否为假?

时间:2012-10-24 08:54:57

标签: qt buffer

我有可能QBuffer :: open(OpenMode模式)会返回false吗?这是实施:

bool QBuffer::open(OpenMode flags)
{
    Q_D(QBuffer);

    if ((flags & Append) == Append)
        flags |= WriteOnly;
    setOpenMode(flags);
    if (!(isReadable() || isWritable())) {
        qWarning("QFile::open: File access not specified");
        return false;
    }

    if ((flags & QIODevice::Truncate) == QIODevice::Truncate) {
        d->buf->resize(o);
    }
    if ((flags & QIODevice::Append) == QIODevice::Append) // append to end of buffer
        seek(d->buf->size());
    else
        seek(o);

    return true;
}

bool QIODevice::isReadable() const
{
    return (openMode() & ReadOnly) != 0;
}

bool QIODevice::isWritable() const
{
    return (openMode() & WriteOnly) != 0;
}

我会说不。我正在进行这项研究,因此我的flexLint代码分析不会产生新的警告。

1 个答案:

答案 0 :(得分:1)

如果你没有给它正确的标志,它可以返回false。例如,调用QBuffer::open(QIODevice::Text)将失败,因为它没有指定读取或写入模式。除此之外,它总是会回归真实。