开发者社区> 问答> 正文

如何清空char数组?

具有像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

展开
收起
保持可爱mmm 2020-02-08 20:36:31 829 0
1 条回答
写回答
取消 提交回答
  • 使用

    memset(members, 0, 255); 一般来说

    memset(members, 0, sizeof members); 如果数组在范围内,或者

    memset(members, 0, nMembers * (sizeof members[0]) ); 如果您只有指针值,并且nMembers是数组中元素的数量。

    编辑当然,现在的要求已经从清除数组的一般任务更改为纯粹重置字符串,这memset是过大的杀伤力,只是将第一个元素清零就足够了(如其他答案所述)。

    编辑为了使用memset,必须包含string.h。 问题来源于stack overflow

    2020-02-08 20:36:45
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载