当字符串包含多个NUL字符时,如何获取c_str(用于发送)
How to get c_str (for send) when string contains multiple NUL characters?
我有超过400万个字符的字符串,我想通过套接字发送这个字符串。但是,send()只能接受const char
。我试过使用c_str()
。
我的字符串包含多个空终止符\0,因此c_str ()
无法正常工作。了解如何删除或替换\0
您还可以指定在同一函数中发送的缓冲区的长度。我还建议将4MB的缓冲区分成更小的部分,然后一个接一个地发送,因为send
函数允许的缓冲区大小可能有限制。
str.erase(std::remove(str.begin(), str.end(), ' '), str.end());
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 为什么我的for循环不能正确获取argv
- 从python中调用C++函数并获取返回值
- 如何获取一个数字的前3位
- 获取字符串的长度并将其分配给数组
- 无法获取菜单选择以运行函数.C++
- 数组长度,为什么从命令行获取时不能使用它?
- Boost Spirit,获取迭代器内部语义动作
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 具有默认值的引用获取函数
- 调用"stringstream::str()"来获取打印的内容实际上是合法的吗?
- if(str == NULL || str.length() == 0)获取错误