数组内容转qstring_用Qstring给char[]数组赋值(转)

这篇博客介绍了在Qt编程中如何将Qstring类型的Desc转换为char*类型,以便于处理汉字本地化。通过使用.toLocal8Bit()将Qstring转换为QByteArray,然后用.data()获取char*指针。作者还提供了一个函数InputStrToBuff(),用于方便地将QString内容填充到char*缓冲区中。这个函数对于频繁进行字符串转换的操作非常实用。
摘要由CSDN通过智能技术生成

tree_data.Desc  //Desc是char[80]类型的数据

Qstring newDescStr;

strcpy(tree_data.Desc ,

newDescStr.toLocal8Bit().data());

注意:

.toLocal8Bit()为了让Qstring变成QByteArray,也为了汉字本地化处理;.data()是将QByteArray转换为char*

有时候打印SQL语句时,.toLocal8Bit()和.data()不能连续写,要分两步进行;

另外写了一个函数,如果经常需要这样做,可以调用该函数

//将Str的内容填充到BUFF

int DbCfgFun::InputStrToBuff(char *buff, QString Str, int BuffLen)

{

if (!buff || BuffLen<=0 ||Str.length()<=0)

{

return -1;

}

memset(buff, 0, BuffLen);

int RealLen = (Str.toLocal8Bit().length()

if (RealLen>0)

{

memcpy(buff, Str.toLocal8Bit().data(), RealLen);

}

buff[BuffLen-1] = 0;

return RealLen;

}

原文:http://www.cnblogs.com/xihong2014/p/7604158.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值