如何在字符串中存储char数组文本?

时间:2012-10-18 13:15:24

标签: c++ arrays string char

参考:http://msdn.microsoft.com/en-us/library/windows/desktop/ms740120(v=vs.85).aspx底部的c ++示例代码 我有一个char数组

char RecvBuf[1024];

在接收UDP消息时被填满。 如何将它存储在像string str;这样的std :: string变量中,以便我可以从函数中返回一个字符串?

1 个答案:

答案 0 :(得分:3)

使用std::string的构造函数:

string ( const char * s, size_t n );

基本上,如果RecvBuf是标准(文本)“字符串”,那么只需制作

std::string str( RecvBuf );

但这会复制所有char,直到\0被击中。


由于此缓冲区存储从套接字接收的原始字节,因此您应该期望\0个字节。

当您收到数据时,您会知道它的大小。所以,只需使用

std::string str( RecvBuff, buff_len );