Qt中的QRegExp和Null字符

时间:2016-07-02 18:28:53

标签: qt qregexp

我希望在带有正则表达式的二进制文件中进行搜索。 我的搜索在文本文件中成功,但在二进制文件中不匹配,因为函数indexIn中的QRegExp在遇到NULL字符(chr(0))时停止搜索。 我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

QString::fromUtf8(const char *str, int size = -1) 可以包含空字符,只是它的构造函数不一致......

QString::fromUtf8(const QByteArray &str)使用给定的大小,而QRegExp强制使用strlen而不是使用bytearray大小。亲眼看看Qt code

QString s(QChar(0)); QRegExp re(s); qDebug() << re.indexIn(s); // will print 0, not -1 也支持空字符:

angular.module('app')
.controller('appController', require('./src/appController'));