当字符串包含多个NUL字符时,如何获取c_str(用于发送)

How to get c_str (for send) when string contains multiple NUL characters?

本文关键字:获取 str 用于 何获取 包含多 字符串 NUL 字符      更新时间:2023-10-16

我有超过400万个字符的字符串,我想通过套接字发送这个字符串。但是,send()只能接受const char。我试过使用c_str()

我的字符串包含多个空终止符\0,因此c_str ()无法正常工作。了解如何删除或替换\0

您还可以指定在同一函数中发送的缓冲区的长度。我还建议将4MB的缓冲区分成更小的部分,然后一个接一个地发送,因为send函数允许的缓冲区大小可能有限制。

str.erase(std::remove(str.begin(), str.end(), ''), str.end());