zoukankan      html  css  js  c++  java
  • 搞定QString,string,char*,CString的互转

    最近在看QT开发,总结一下关于几种字符串的转换方法。

    方法有很多,这里说一种最通用的方法:char* 是最基础的类型,其他几种类型都可以先转换为char*,然后在进行对于类型的转换。

    CString - char* 

    CString cstr = "this is a cstring.";
    char *ch = cstr.GetBuffer(cstr.GetLength() + 1);
    cstr.ReleaseBuffer();


    TChar* tstr = _T("this is a TChar* string.");

    CString cstr;
    // 直接赋值

    cstr = tstr;
    // 或者使用Format函数

    cstr .Format(_T("%s"), tstr );

    string - char* 

    const char* str1 = "this is a const char*.";
    string str(str1); 


    string str1 ="this is a string.";
    char* str2 = const_cast<char*>(str1.c_str());

    QString - char*

    const char* str = "this is a c string."; 

    QString qstr(QString::fromLocal8Bit(str));
    const char* str2 = qstr.toLocal8Bit();

    QString - string

    #include <QString>  
    #include 
    <vector>  
    #include 
    <iostream>  
    #include 
    <string>
      
    using namespace std;  
    QString s2q(
    const string &s);  
    string q2s(const QString &s); 

    QString s2q(
    const string &s)  
    {  
        
    return QString(QString::fromLocal8Bit(s.c_str()));  
    }  
    string q2s(const QString &s)  
    {  
        
    return string((const char *)s.toLocal8Bit());  
    }  


  • 相关阅读:
    移动网络优化
    移动网络架构与数据传输
    移动网络简介与RRC
    CSS之外边距折叠
    网络协议之TLS
    Smarty 模板引擎简介
    FormData介绍
    相对路径与绝对路径
    OAuth2.0
    Redis学习手册(List数据类型)
  • 原文地址:https://www.cnblogs.com/pyw0818/p/1913600.html
Copyright © 2011-2022 走看看