QString,string,char *相互转换

经常用到Qt的QString, C++的string, C语言的char *, 在这里记录它们之间所有的相互转换方法

QStringstring
QString str("I am string.");
cout << str.toStdString() << endl;
QStringchar *

Qstringchar * 要注意一个缓冲区刷新的问题, printf("%s\n", res_str); 这样操作并不会刷新缓冲区, 中断无输出。
因为C++的缓冲区和C语言的缓冲区不是同一个。
使用 cout << endl; 才可以刷新刷新缓冲区

QString str("I am string.");
QByteArray bit_arr = str.toLatin1();
char *res_str = bit_arr.data();
printf("%s", res_str);
cout << endl;
stringQString
string str = "I am string.";
qDebug() << QString::fromStdString(str);
stringchar *
string str = "I am string.";
const char *char_str = str.c_str();

printf("%s", char_str);
cout << endl;
char *QString
const char *str = "I am string.";
qDebug() << QString(str);
char *string
const char *str = "I am string.";
cout << string(str) << endl;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__万波__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值