具有像char成员[255]这样的char数组。如何不使用循环将其完全清空?
char members[255]; “空”的意思是,如果其中存储了一些值,则应该没有。例如,如果我执行strcat,则旧值不应保留
members = "old value";
//empty it efficiently strcat(members,"new"); // should return only new and not "old value new" 问题来源于stack overflow
使用
memset(members, 0, 255); 一般来说
memset(members, 0, sizeof members); 如果数组在范围内,或者
memset(members, 0, nMembers * (sizeof members[0]) ); 如果您只有指针值,并且nMembers是数组中元素的数量。
编辑当然,现在的要求已经从清除数组的一般任务更改为纯粹重置字符串,这memset是过大的杀伤力,只是将第一个元素清零就足够了(如其他答案所述)。
编辑为了使用memset,必须包含string.h。 问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。