QString 可以处理多大的数据?

k_e_y 2016-09-22 11:32:12
今天遇到一个奇怪的问题,将一个文件读到QString里面,如果文件大小超过大概 70MB,再对这个QString进行连续拼接操作即崩溃(包括 QString s1 + QString S2, s1.append(s2))
有啥解决办法么,或者可以处理大点数据的 的QT类有么?
...全文
4284 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bclshuai 2019-09-06
  • 打赏
  • 举报
回复
我也遇到这个问题,QString读取的文件的数据,两个G都可以,可以一旦使用append追加时,60M的就会报错。请问你找到解决办法了吗?
Little柯南 2016-09-26
  • 打赏
  • 举报
回复
申请一个char* str= new str[num],num写你开辟的空间字节数,如果非要使用Qt方式,那么可以直接将这个指针合并到你的QByteArray里面,然后操作这个字节数组就好,你有多大他已经分配多大,就不担心奔溃! 但是话说,吃饭也得慢慢吃,一口口吃,你非要一口吃一盆,恐怕不是好方式! 你可以在一个循环里面, 如下方式: while(1) { //里面每次读取你指定字节操作,如果读到为0或者已读取的累加等于文件存储字节则break就行 }
k_e_y 2016-09-26
  • 打赏
  • 举报
回复
QString 还用管内存空间么,感觉再大的数据我也放得进去的,就是不能做拼接 用QStringList 之后呢,我这里是要把读出的文件内容上传的数据库的,也就是说要放到一个SQL语句中的,所以才要拼接啊 strimgio???是个啥,可不可以多点资料
hidxl 2016-09-25
  • 打赏
  • 举报
回复
strimgio试试
feiyangqingyun 2016-09-24
  • 打赏
  • 举报
回复
很明显用QStringList
诺水城子 2016-09-22
  • 打赏
  • 举报
回复
这个取决于开辟的内存空间是多大吧

16,817

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧