error: ‘const class std::vector<char>’ has no member named ‘mid’
时间: 2023-12-19 17:04:15 浏览: 35
这个错误是因为`std::vector`没有`mid()`方法,`mid()`是`QByteArray`的方法。如果你想在`std::vector`中实现类似的功能,可以使用`std::copy()`函数或者`std::vector`的迭代器来截取部分数据。
以下是使用`std::copy()`函数来截取部分数据的示例代码:
```C++
std::vector<char> Data; // 定义要发送的数据
int SendByte = 0; // 定义已发送的字节数,初始为0
// 循环发送数据,直到全部发送完成
while (SendByte < Data.size())
{
// 计算剩余未发送的数据大小
int remainingSize = Data.size() - SendByte;
// 计算本次要发送的数据大小
int sendSize = std::min(remainingSize, MAX_SEND_SIZE); // MAX_SEND_SIZE是每次发送的最大数据量
// 创建一个存放要发送数据的缓冲区
std::vector<char> buffer(sendSize);
// 截取要发送的数据并复制到缓冲区中
std::copy(Data.begin() + SendByte, Data.begin() + SendByte + sendSize, buffer.begin());
// 发送缓冲区中的数据
m_Socket->send_to(boost::asio::buffer(buffer), m_DDPEndPoint);
// 更新已发送的字节数
SendByte += sendSize;
}
```
相关推荐
![hpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)