首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存QNetworkReply

保存QNetworkReply
EN

Stack Overflow用户
提问于 2012-03-28 04:34:45
回答 1查看 1K关注 0票数 1

我希望能够将QNetworkReply保存到QString/QByteArray。在我看到的示例中,它们总是将流保存到另一个文件中。

目前,我的代码看起来像这样,我从主机获得一个字符串,我想要做的就是解析它以查找指定的错误代码。

代码语言:javascript
复制
if(_reply->error() == QNetworkReply::UnknownContentError) {

    qDebug() << _reply->readAll(); // prints out the xml message

    QString test = QString(_reply->readAll());
    qDebug() << test; // ""

    QByteArray test2 = QByteArray(_reply->readAll());
    qDebug() << test2; // ""

    QRegExp rxlen("(<code>)(.*(?=</code>))");
    rxlen.setMinimal(true);

    int pos = rxlen.indexIn(test); // pos == -1

    if(pos > -1) {
        qDebug() << rxlen.cap(2); // never hit
    }

}

这条消息非常小,看起来像这样:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
   <error>
      <code>string-value</code>
      <message>string-value</message>
   </error>

那么我如何将这个小数据流加载到内存中,或者只是查找错误代码呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-28 04:42:49

QNetworkReply继承自QIODevice,它是一个流。当你从一个流中读取了一些东西之后,它就不再存在了。在调试行(带有// prints out the xml message注释的行)之后,就没有什么可读的了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9897277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档