std::string ,QString和const char * 的互相转换

本文详细介绍了如何在C++中进行const char*与std::string之间的相互转换,以及QString与const char*之间的转换方法。文中提供了三种不同的const char*转string的方法,并展示了两种string转const char*的方式。此外,还讲解了QString与const char*之间的转换技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

const char* 转 string

//第一种方法
const char * s = "hello , world!";
string str(s);

//第二种方法
const char * s = "hello const char";
string s1("hello , string1 ");
string s2 = s1 + string(s);

//第三种方法
const char * s = "hello const char";
string s1("hello , string1 ");
s1 += string(s);

string 转 const char *

string str("hello world !");
const char * s = str.c_str();

const char* 转 QString

const char * s = "hello , world !";
QString qs1(s);
QString qs2 = qs1.append(QString(s));

//需特定编码
QString qs3= QString(QLatin1String(s));
QString qs4 = QString::fromLocal8Bit(s);

QString 转 const char *

//第一种方法
QString qs1= "Hello , world !";
QByteArray ba = qs1.toLocal8Bit();
const char *s = ba.data();
const char *s2 = ba.constData();

//第二种方法
QString qs1= "Hello , world !";
string str = qs1.toStdString();
const char *s= str.c_str();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值