使用posix套接字时怎么了
write(new_socket, method.c_str(), sizeof(method.c_str()));
有效但是
write(new_socket, method.c_str(), method.length());
和
write(new_socket, method.c_str(), method.size());
不起作用?
方法是4个字符串。
sizeof(method.c_str())
返回8。
method.length()
返回4。
method.size()
返回4。
strlen(method_c_str())
返回4。
答案 0 :(得分:-1)
函数的第三个参数采用要发送的字节数。 但是size()和length()返回字符数。 我认为您使用了一串UTF-16字符,每个字符需要2个字节。 在这种情况下,将字符数(按大小返回)乘以2可能是一种解决方案。