Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1607973
  • 博文数量: 245
  • 博客积分: 10378
  • 博客等级: 上将
  • 技术积分: 2571
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 08:19
文章分类

全部博文(245)

文章存档

2013年(4)

2012年(8)

2011年(13)

2010年(68)

2009年(152)

分类: LINUX

2010-06-15 18:52:33

对于这些基本的数据类型的转换有时会弄得我们很头疼。不会写,不敢写,写了怕错。虽然现在跑qt下了,这不遇见了第一次需要数据类型转换的时候了。

  先说Qt中的QString如何转char*吧。

int main(int argc, char **argv)
{
QApplication app(argc, argv);
QString str1 = “Test”;
QByteArray ba = str1.toLatin1();
const char *c_str2 = ba.data();
printf(“str2: %s”, c_str2);
return app.exec();
}
  这里得注意,中间的ba变量是必不可少的,不能直接用str1.toLatin1().data()。

  然后就是char*转QString:

  方法一:QString string = QString(QLatin1String(c_str2)) ;

  方法二:如果是中文系统,直接用 (const char*) str.local8Bit()
      例如
         printf(“%s”, (const char*) str.local8Bit());
         str是一个QString

  记录了一些自己学习过程中的知识,希望对你有帮助,也希望转载能保留原文地址。谢。

阅读(5128) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~