gpt4 book ai didi

c++ - Poco FIFOBuffer read() 错误

转载 作者:行者123 更新时间:2023-11-30 05:41:54 26 4
gpt4 key购买 nike

我无法让 Poco::FIFOBuffer.read() 工作。获取访问冲突错误或变量结果周围的堆栈已损坏。

    std::string output;

Poco::FIFOBuffer recvData(BUFFERLEN);

int iResult = mySockets[vect[2]]->receiveBytes(recvData);
char* result = "";

std::cout << recvData.read(result, recvData.size());
output = result;

在程序的其他地方,一个非常相似的东西似乎工作正常(vect 是一个 vector )mySockets 是一个 Map

Poco::FIFOBuffer sendData(BUFFERLEN, false);
sendData.copy(vect[3].c_str(), vect[3].size());
int iResult = mySockets[vect[2]]->sendBytes(sendData);
output = "data sent, sendBytes returned: " + std::to_string(iResult);

引用:http://pocoproject.org/docs-1.5.0/Poco.BasicFIFOBuffer.html#11400

最佳答案

如上评论所述,文档为 wrong .

如果您希望缓冲区自动调整大小,请使用 Poco::Buffer<char> ;或者,确保 char*指向足够的空间来容纳数据(这很棘手 - 您必须查询 FIFOBuffer 以找出 receiveBytes() 调用返回了多少,因此使用 Poco::Buffer 是一个更简单的选择)。

关于c++ - Poco FIFOBuffer read() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30960355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com