使用复制字符串时,经常会遇到字符串后面跟着一大堆莫名其妙的字符串,例如屯屯屯 ...之类的东西,这是因为在使用字符串时没有在字符串结尾加/0或0。通常分配一块内存到堆上或栈上时,内存区域可能会有之前使用的其他残留字符数据,这时候需要我们手动清理一下,使用memset函数即可达到我们的要求,通常会把整个新分配的字符串全部置0.例如:
char * s = new [16];
memset(s,0,16);
strcpy(s,"hello baby.");
这样使用字符串就会自动在字符串结尾加上0,使用strlen时也不会出现字符串长度不对的情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)