QT QString与char数组的转换

最近老是用到它俩的转换,但老是记不住
网上一搜,一堆说的这个的,咳,但奈何例子太多了,看的我眼花缭乱的

文章目录

      • 一、QString -----> char*
      • 二、char* -----> QString
        • 1、笨方法
        • 2、QString(QLatin1String(..))

一、QString -----> char*

.toLantin1()QString转化为QByteArray
.data()QByteArray转化为char*

1
2
3
4
5
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、笨方法

(主要是只想要一个字符,咳。。)

  1. 先创建一个空的QString;
  2. 再将QString与单个char相加;
1
2
QString symbol = "";
symbol += startSymbol[i];   // emm,startSymbol是个char*

2、QString(QLatin1String(…))

1
QString symbol= QString(QLatin1String(startSymbol));