具有字符数组,如字符成员[255].我怎样才能完全清空它而不使用循环呢?
char members[255];
我所说的"空"是指,如果它有一些值存储在其中,那么它就不应该在其中存储.例如,如果我执行strcat,则旧值不应保留
members = "old value";
//empty it efficiently
strcat(members,"new"); // should return only new and not "old value new"
具有字符数组,如字符成员[255].我怎样才能完全清空它而不使用循环呢?
char members[255];
我所说的"空"是指,如果它有一些值存储在其中,那么它就不应该在其中存储.例如,如果我执行strcat,则旧值不应保留
members = "old value";
//empty it efficiently
strcat(members,"new"); // should return only new and not "old value new"
使用
memset(members, 0, 255);
一般来说
memset(members, 0, sizeof members);
如果数组在作用域内,或者
memset(members, 0, nMembers * (sizeof members[0]) );
如果只有指针值,那么nMembers是数组中的元素数.
当然,现在的要求已经从清除数组的一般任务变为纯粹重置字符串,memset
是多余的,只需将第一个元素归零就足够了(如其他答案中所述).
编辑要使用memset,你必须使用include string.h.