读书人

对未知长度字符串添加结束符#039;\0#039;的有关

发布时间: 2012-06-19 14:45:20 作者: rapoo

对未知长度字符串添加结束符'\0'的问题?
举个例子

C/C++ code
 char* buf = new char[1024]; sth.recv(buf,1024) ;// recv函数,读取1024字节的东西存入buf


假如读入的是 I miss u,那么buf就是 I miss u屯屯屯屯屯屯屯屯屯屯屯屯……

出现这样的原因,你们懂的,没有 \0结束符。

那么,在未知长度的情况下,如何添加这个\0结束符,不要告诉我提前memset,这里memset是木有用的,recv之后还是屯。

[解决办法]
探讨
举个例子
C/C++ code

char* buf = new char[1024];
sth.recv(buf,1024) ;// recv函数,读取1024字节的东西存入buf



假如读入的是 I miss u,那么buf就是 I miss u屯屯屯屯屯屯屯屯屯屯屯屯……

出现这样的原因,你们懂的,没有 \0结束符。

那么,在未知长度的情况下,如何添加这个\0结束……

[解决办法]
if (ch & 0x80 != 0)
{
ch = '\0';
}
前提是,你确定字符串里没有中文等

读书人网 >C语言

热点推荐