【问题标题】:QByteArray to int always give 0QByteArray 到 int 总是给 0
【发布时间】:2020-04-17 10:10:33
【问题描述】:

我尝试发送数据 throw qtcpsocket 并使用 QByteArray。我发送先前大小的数据并尝试像 QByteArray to Int conversion 那样转换为 int。 但总是得到0。代码转换示例:

QString ss = "bca";
int aaa;
QByteArray b;
QDataStream stream(&b, QIODevice::ReadWrite);

stream << ss.toUtf8().size();
stream >> aaa;

在此示例中 aaa 始终为 0,但 ss.toUtf8().size() 不是。我做错了什么?

【问题讨论】:

    标签: qt qbytearray


    【解决方案1】:
    QString ss = "bca";
    int aaa;
    QByteArray b;
    QDataStream stream(&b, QIODevice::ReadWrite);
    
    stream << ss.toUtf8().size();
    stream.device().seek(0); // add this code
    stream >> aaa;
    

    QByteArray 的内部指针在末尾,所以什么也读不出来。

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      相关资源
      最近更新 更多