`

QString,QByteArray和const char*的相互转换

    博客分类:
  • QT
 
阅读更多

http://stackoverflow.com/questions/5505221/converting-qstring-to-char

 

 In order to convert a QString to a char*, then you first need to get a latin1 representation of the string by 

calling toLatin1() on it which will return a QByteArray. Then call data() on the QByteArray to get a pointer to 

the data stored in the byte array.

int main(int argc, char **argv)
{
 QApplication app(argc, argv);
  QString str1 = "Test";
  QByteArray ba = str1.toLatin1();
  const char *c_str2 = ba.data();
  return app.exec();
}

To convert a char* to a QString you can use the QString constructor that takes a QLatin1String, e.g:

QString string = QString(QLatin1String(c_str2)) ;

 

分享到:
评论

相关推荐

    Qt中QString转换成const char * ()、QByteArray等方法

    在Qt框架中,字符串处理是常见的任务,尤其是涉及到串口通信时,可能需要在QString与原始C风格的char *或QByteArray之间进行转换。QString是一个非常重要的类,它提供了Unicode字符串的支持,允许处理多种语言和字符...

    Qt中所有类型转换

    - **QString到char**: 可以通过直接赋值的方式将单个字符的QString转换为char类型。 - 示例:`char a = 'b'; QString str = QString(a);` ##### 1.2 其他类型到QString的转换 - **int、double到QString**: 可以...

    QString转换为TCHAR*

    当需要将QString转换为非Unicode(ASCII)字符串时,可以使用`toLocal8Bit()`函数,它返回一个QByteArray对象,然后可以将这个字节数组转换为char*。但是这种方法不适用于Unicode环境,因为它会丢失Unicode信息。 ...

    QT中 各类型的转换

    本文将详细介绍QT中各种类型之间的转换方法,包括但不限于`char*`与`QString`之间的转换、`QByteArray`与`QString`之间的转换等。 #### 一、`char*`与`QString`之间的转换 **1.1 `char*`转为`QString`** - **直接...

    Qt数据类型的转换

    4. **`char*`与`const char*`之间的转换** - **示例代码**: ```cpp char* ch1 = "hello"; const char* ch2 = "world"; ch2 = ch1; // 不报错,但有警告 ch1 = (char*)ch2; ``` 5. **中文转换** - **中文...

    QString和char以及string之间的赋值详解

    这段代码首先通过`toLatin1()`方法将`QString`转换为`QByteArray`,然后调用`data()`获取其内部的`char*`指针,从而完成赋值。 二、`char[]`赋值给`std::string` 当需要将一个`char`数组(如`char str[32]`)赋值给...

    linux QT显示中文

    - `QTextCodec`的`toUnicode()`方法可以将`const char *`转换为`QString`。 ```cpp QTextCodec *codec = QTextCodec::codecForLocale(); QString a = codec->toUnicode("老师"); ``` - `QString::toLocal8Bit...

    QT基本类型及使用说明

    ##### 1.2 QString 和 string 的相互转换 - **QString to std::string**: - 示例:`QString str = "Hello Qt"; std::string cStr = str.toStdString();` - 结果:`cStr` 变为 `"Hello Qt"`。 - **std::string to ...

    Qt数据库封装类

    bool updateTblFieldsValue(const QString strTbl, QString strWhere, const char * szFldInfo, ... ); strTbl表名 strWhere SQL WHERE子句,如"WHERE sn=20" const char * szFldInfo, ...可变参数,同...

    qbytearrayqbytearray.docx

    可以使用`QString`的构造函数将`QByteArray`转换为`QString`。例如: ```cpp QString str = QString(byteArray1); ``` **2. 转换为 C 风格字符串** 通过`constData()`方法可以获得指向字节数组数据的C风格字符串...

    QImage 类翻译

    - `QImage(const QString & fileName, const char * format = 0)` 根据文件名从磁盘加载图像,可选地指定文件格式。 - `QImage(const char * const xpm[])` 从XPM(X PixMap)格式的数据创建图像。 - `QImage(const ...

    QT5中使用QHttp类.rar

    它提供了连接到服务器(`connectToHost(const QString &host)`)、开始请求(`start(QHttp::Command cmd, const QUrl &url)`)以及处理响应(`setFinishedSlot(QObject *receiver, const char *member)`)等方法。...

    qt实现转换文件字符集编码

    Qt提供了`QTextCodec::availableCodecs()`方法来获取系统支持的所有编码列表,以及`QTextCodec::codecForMib(int mib)`或`QTextCodec::codecForName(const char *name)`根据MIB(多用途互联网邮件扩展)编号或编码...

    QTFileRead

    - `QFile::write()`: 写入数据,参数可以是`QByteArray`或`const char*`。 - 使用`QTextStream`,可以通过`运算符轻松写入各种类型的数据,如`QTextStream out(&file); out ;`。 4. **错误处理**: - `QFile::...

    Qt中整形数组转换成字符串的问题.docx

    如果你有一个 `unsigned char` 数组,比如通过 TCP/IP 接收的数据,你可以先将其转换为 `QByteArray`,然后使用 `fromRawData()` 方法创建一个 `QString`: ```cpp unsigned char *rawData = ...; // 假设这是你的...

    c++ qt aes类 直接下载

    std::string encryptAES(const std::string& plaintext, const unsigned char* key, size_t keyLength) { // 加密过程... } std::string decryptAES(const std::string& ciphertext, const unsigned char* key, ...

    libqrcode.rar

    // Convert QString to char array for libqrcode QByteArray byteArray = data.toUtf8(); const char* dataPtr = byteArray.data(); // Generate QR code QRcode* qrCode = QRcode_encodeString(dataPtr, 0, ...

    QT中使用C++ socket通信 客户端与服务端的代码实例

    void sendMessage(const QString &message) { write(message.toUtf8()); // 将消息发送到服务器 } void readyRead() { QByteArray data = readAll(); // 读取服务器发送的数据 // 处理解析的数据 } }; int ...

    qextserialport类编写qt串口编程例子

    connect(&manager, SIGNAL(dataReceived(const QByteArray &)), this, SLOT(displayReceivedData(const QByteArray &))); manager.openPort("COM1", 9600); // 替换为实际的串口号和波特率 ``` 至此,我们已经创建...

    QFileTest.rar

    写入文件则使用`write()`方法,传入一个`QByteArray`或者`const char*`类型的数据: ```cpp file.write("Hello, World!"); ``` 在完成文件操作后,记得使用`close()`方法关闭文件,以确保数据正确保存并释放系统...

Global site tag (gtag.js) - Google Analytics