data.toStdString()报错,提示没有这个
时间: 2024-03-19 22:44:22 浏览: 19
如果你使用的是 Qt 5 或更高版本,那么你可以使用以下代码将 QByteArray 转换为 std::string:
```cpp
QTcpSocket *socket = new QTcpSocket(this);
socket->connectToHost("host_address", port_number);
if(socket->waitForConnected()){
//Read data from the socket
QByteArray data = socket->readAll();
std::string str = data.constData();
}
```
这里,我们使用了 QByteArray 的 constData() 函数将 QByteArray 对象转换为 const char* 类型,然后再将其强制转换为 std::string 类型。这种方式可以避免使用 toStdString() 函数导致的编译错误。
如果你使用的是 Qt 4 ,那么你可以尝试使用以下代码将 QByteArray 转换为 std::string:
```cpp
QTcpSocket *socket = new QTcpSocket(this);
socket->connectToHost("host_address", port_number);
if(socket->waitForConnected()){
//Read data from the socket
QByteArray data = socket->readAll();
std::string str = qPrintable(data);
}
```
这里,我们使用了 Qt 4 中的 qPrintable() 函数将 QByteArray 对象转换为 const char* 类型,然后再将其强制转换为 std::string 类型。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)