这句话有什么问题

ryanzz 2010-07-20 10:29:24
QTextCodec *codec=QTextCodec::codecForName("gbk");
QString ss;
char name[64];

ss=tr("随便一句话");
memcpy(name,codec->fromUnicode(ss).data(),codec->fromUnicode(ss).length());//运行至此,提示段错误

经调试,在linux下把程序拷到没有安装qt的机器上运行,到memcpy这句时就提示段错误,不知这句话有何问题?
...全文
138 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryanzz 2010-12-21
  • 打赏
  • 举报
回复
上善若水邻 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 feilinhe 的回复:]
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
[/Quote]
这个正解、、、、GBK要大写
feilinhe 2010-08-07
  • 打赏
  • 举报
回复
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
gemfield 2010-08-06
  • 打赏
  • 举报
回复
没有安装qt的机器的不同之处就是没有Qt库,包括基本库和插件库,里面又有解释字符的codec插件库。从这里找找原因吧
ryanzz 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gemfield 的回复:]
没有安装qt的机器的不同之处就是没有Qt库,包括基本库和插件库,里面又有解释字符的codec插件库。从这里找找原因吧
[/Quote]

请问codec插件库有哪些?
ryanzz 2010-08-05
  • 打赏
  • 举报
回复
现在的问题是
在安装了QT的机器上可以正常运行,没装QT的机器上运行就会有主楼上的错误提示
ryanzz 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 feilong_1216 的回复:]
建议楼主换换机器看看,测试一下.是不是机器软件编码的问题/
[/Quote]

换过了,都一样的
ryanzz 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qter_wd007 的回复:]
建议不如安装上Qt环境,看看有没有问题。这样第一步就排除了平台差异问题。

接下来就是打断点,调试,看看问题在哪里,两个平台上是否有差异。
[/Quote]

现在只有把程序拷贝到没有装QT的机器上才会有这个问题,安装了QT的机器上不会出现这个问题
我觉得是不是编码的问题,机器上没有安装某编码?
例如codecForName("gbk")中"gbk"编码换成"KOI8-R"就不会有这个问题
当然换成"gb2312"或"gb18030"之类的也会有问题
feilong_1216 2010-07-21
  • 打赏
  • 举报
回复
建议楼主换换机器看看,测试一下.是不是机器软件编码的问题/
qter_wd007 2010-07-20
  • 打赏
  • 举报
回复
建议不如安装上Qt环境,看看有没有问题。这样第一步就排除了平台差异问题。

接下来就是打断点,调试,看看问题在哪里,两个平台上是否有差异。
tzcherish 2010-07-20
  • 打赏
  • 举报
回复
ryanzz 2010-07-20
  • 打赏
  • 举报
回复
在网上找了一下,也有人使用fromUnicode出现这种问题的,但是没找到具体什么原因

16,211

社区成员

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

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