QString、String、char*之间转换总结

13 篇文章 1 订阅
一、QString与String

1)QString转String
string a;
QString b;
a= b.toStdstring(); 

2)string转QString
string a;
QString b;
b= QString::fromestdstring(a);

二、QString和char*

1)QString转化为QByteArray类型,然后由QByteArray再转化为char*

QString a;
char b[20];
QByteArray c= a.toLocal8Bit();
strcpy(b, c.data());
  
2)QString转化为string类型,然后由string转化char*

QString a;
char b[20];
std::string s= a.toStdString();
b= s.c_str();

3)char*转QString
QString a;
char b[20];
a= QString("%1").arg(b);

三、string和char*

1)string转化char*

string s = "1234";
char c[20];
strcpy(c , s.c_str());

/********************************************************************************************************************
在这里总结一下const char *c_str()的用法;
c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.
这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针
比如:最好不要采取以下方式:
char* c;
string s="1234";
c = s.c_str(); //c_str函数的返回值是constchar*的,不能直接赋值给char*类型 c

或者将其改为 const char* c = s.c_str();

***************************************************************************************************************************/


2)char*转化为string

char c[20] = "hello world!";
string s(c); //s = p

char[]转string 这里可以直接赋值 //s = p


四、string和int

1)int转化为string

int aa = 30;
stringstream ss;
ss<<aa;
string s1 = ss.str();
cout<<s1<<endl; // 30

2)string转化为int

int a;
sscanf("123","%D",&a);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值