(完整版)string char* char[] QString QByteArray间类型转换

文章整理 了string char* char[] QString QByteArray间类型转换,所有内容都测试可用。 --2020年8月26日 21:07:29

文章目录

    • 1、string            转      const char*
    • 2、string            转       char*
    • 3、string            转       char[]
    • 4、string            转       QString
    • 5、char*             转       string
    • 6、char*             转       char[]
    • 7、char*             转       QByteArray
    • 8、char*             转       QString
    • 9、char[]             转       string
    • 10、char[]           转       char*
    • 11、QString        转       string
    • 12、QString        转       QByteArray
    • 13、QString        转       char*
    • 14、QByteArray  转      QString
    • 15、QByteArray  转      char*

1、string            转      const char*

string input="123456";
const char* output = input.c_str();

string input="123456";   
const char* output = input.data(); 

2、string            转       char*

 string input="123456";
 char* output = (char*)input.c_str();
 string input="123456";
 char* output = (char*)input.data();

3、string            转       char[]

    string input = "123456";
    char output[8];
    int i;
    for(i=0; i<input.length(); i++)
     {
     
       output[i] = input[i];
     }
     output[i] = '\0';

方式二: string->char* ->char[]


   string input="123456";
    char output2[10];
    char* output = (char*)input.c_str();
    strcpy(output2,output);

4、string            转       QString

 string input="123456";
 QString output = QString::fromStdString(input);

5、char*             转       string

char* input="123456";
string output=input;

6、char*             转       char[]

 char* input="123456";
 char output[10];
 strcpy(output,input);
 

7、char*             转       QByteArray

    char* input="123456";
    char output[10];
    strcpy(output,input);
    QByteArray output2(input, strlen(output));

8、char*             转       QString

    char *input="123456";
    QString output=QString(input);

9、char[]             转       string

 char input[10]="123456";
 string output=input;

10、char[]           转       char*

    char input[10]="123456";
    char* output;
    output=input;

11、QString        转       string

   QString input="123456";
   string output = input.toStdString();

12、QString        转       QByteArray

    QString input ="1234";
   QByteArray output=input.toUtf8();//中文
   QByteArray output=input.toLocal8Bit();//本地编码

13、QString        转       char*

不支持中文

 QString input="123456";
 char* output=input.toLocal8Bit().data();
 //data可换c_str()

支持中文

  QString input="你号";
  char* output2=input.toUtf8().data();
  //data可换c_str()

14、QByteArray  转      QString

  QByteArray input="123456";
  QString output=QString::fromLocal8Bit(input);

15、QByteArray  转      char*

  QByteArray input="123456";
  char* output=input.data();

结束语:凡心所向,素履所往,生如逆旅,一苇以航。
          
文章如有不足和错误的地方,务必评论指出或私信
最后希望给文章点赞收藏,整理不易!!!
最后希望给文章点赞收藏,整理不易!!!
最后希望给文章点赞收藏,整理不易!!!

你可能感兴趣的:(C/C++小点复习,c++,qt)