QString的最大大小

时间:2017-09-15 10:31:00

标签: c++ qt qstring

我在Ubuntu 16.04 64位架构上使用Qt 5.9。我有一个要求,我需要从一个文件中获取输入,该文件可以包含10 ^ 8范围内的字符。不幸的是,分解文件并处理它不是一个选项,因为我需要文件中的整个数据来操作我的代码。

根据我的想法到目前为止,我计划将文件数据存储在QString中(欢迎任何其他建议)。 QString在这方面可以存储的最大大小是多少?我看过以下链接,但没有一个提供具体的答案:

由于我的数据非常接近2 ^ 30 Link 1中定义的限制,因此QString是一个合适的选择吗?

注意:所有数据都是十六进制的,我需要将QString转换为QByteArray

我的另一个问题是它是否能够有效地处理那么多个字符。从我所拥有的read Qt优化字符串长度一种微调QString内存使用的方法。考虑到大量字符(就所用时间而言),这是否会影响文件读取操作。

为读取操作添加示例代码:

void readData (QString file) {
    QFile f(file);
    if (!f.open(QFile::ReadOnly | QFile::Text)) break;
    QTextStream in(&f);
    QString data=in.readAll(); // alternately, this can be read line by line along with QStringBuilder
}

0 个答案:

没有答案