How to empty a char array?

arrays, c, char

Solution

using

  memset(members, 0, 255);

in general

  memset(members, 0, sizeof members);

if the array is in scope, or

  memset(members, 0, nMembers * (sizeof members[0]) );

if you only have the pointer value, and nMembers is the number of elements in the array.

EDIT Of course, now the requirement has changed from the generic task of clearing an array to purely resetting a string, `memset` is overkill and just zeroing the first element suffices (as noted in other answers).

EDIT In order to use memset, you have to include string.h.

Problem

Have an array of chars like char members[255]. How can I empty it completely without using a loop? ``` char members[255]; ``` By "empty" I mean that if it had some values stored in it then it should not. For example if I do strcat then old value should not remain ``` members = "old value"; //empty it efficiently strcat(members,"new"); // should return only new and not "old value new" ```

Original source