首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从\0清除QByteArray

从\0清除QByteArray
EN

Stack Overflow用户
提问于 2014-07-25 09:27:04
回答 1查看 735关注 0票数 3

在我的应用程序中,我使用QByteArray将二进制数据从文件读取到大小固定的字节记录。实际上,所有这些记录都是字符串。如果字符串大小小于记录大小,则其余字节填充\0。有时记录也可以从\0开始。

例如,我需要做的是:

在此之前

代码语言:javascript
复制
\0 \0 \0 T h e \32 s t r i n g \0 \0 \0

之后

代码语言:javascript
复制
T h e \32 s t r i n g

那么,我的问题--我如何从所有的\0中清除QByteArray

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-25 09:53:03

我测试了这段代码,由于使用了QByteArray & QByteArray::replace(...)函数,它似乎可以工作。

代码语言:javascript
复制
QByteArray array;
array[0] = '\0';
array[1] = 'a';
array[2] = '\0';
array[3] = 'b';
array[4] = '\0';

qDebug() << "string:" << QString(array.toHex());
array.replace('\0',"");

qDebug() << "string:" << QString(array.toHex());

产出:

代码语言:javascript
复制
string: "0061006200" 
string: "6162" 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24952374

复制
相关文章

相似问题

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