有一个像 char Members[255] 这样的字符数组。如何在不使用循环的情况下完全清空它?
char members[255];
我所说的“空”是指如果它存储了一些值,那么它就不应该。例如,如果我执行 strcat 那么旧值不应保留
members = "old value";
//empty it efficiently
strcat(members,"new"); // should return only new and not "old value new"
using
memset(members, 0, 255);
一般来说
memset(members, 0, sizeof members);
如果数组在范围内,或者
memset(members, 0, nMembers * (sizeof members[0]) );
如果只有指针值,则 nMembers 是数组中元素的数量。
编辑当然,现在要求已经从清除数组的通用任务更改为纯粹重置字符串,memset
是矫枉过正,只需将第一个元素归零就足够了(如其他答案中所述)。
编辑以便使用memset, 你必须包含字符串.h.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)