最近老是用到它俩的转换,但老是记不住
一、QString ———> char*
.toLantin1()
将QString
转化为QByteArray
;
.data()
将QByteArray
转化为char*
;
QString program = ui->textEdit->toPlainText(); // 从文本编辑框中取出的QString
QByteArray letter = program.toLatin1(); // QString转化为QByteArray
char* program_char = letter.data(); // QByteArray转化为char*
不要将转换语句连着写:char* program_char = program.toLatin1().data();
,不然会出现一堆问题:比如第一次值打印正常,第三次第四次值就不正常了-_-||
二、char* ——> QString
1、强制类型转换
- 先创建一个空的
QString
; - 再将
QString
与单个char
相加;
QString symbol = "";
symbol += startSymbol[i]; // emm,startSymbol是个char*
2、QString(QLatin1String(…))
QString symbol= QString(QLatin1String(startSymbol));