如何将char* 转换为QByteArray
时间: 2024-09-19 08:14:07 浏览: 41
Qt中QString转换成const char * ()、QByteArray等方法
在Qt中,将`char*`转换为`QByteArray`非常直接,可以使用`QByteArray::fromRawData()`函数完成。假设你有一个指向字符串的`char*`,例如:
```cpp
const char* str = "Hello, Qt!";
```
转换的过程如下:
```cpp
QByteArray byteArray = QByteArray::fromRawData(str, strlen(str));
```
在这里,`strlen(str)`计算了字符串的长度,`fromRawData()`则创建了一个新的`QByteArray`,包含了原始字符串的所有字节。
如果你的`char*`实际上是一个`std::string`或者其他字符串类型的指针,你需要先将其转换为`const char*`再进行上述操作:
```cpp
std::string str = "Hello, Qt!";
QByteArray byteArray = QByteArray::fromRawData(str.c_str(), str.size());
```
这里`str.c_str()`获取`std::string`的`const char*`表示,`str.size()`给出字符串的长度。
阅读全文