如何在不使用循环的情况下完全清空char数组(如char members[255])?
char members[255];
我所说的"empty"是指如果它之前有存储一些值,则现在应该没有。例如,如果我执行strcat操作,则旧值不应该保留。
members = "old value";
//empty it efficiently
strcat(members,"new"); // should return only new and not "old value new"
members[0] = 0
即可。strcpy_s(members, "");
免责声明:我通常不使用C语言编程,因此我的示例中可能存在任何语法陷阱,但我希望我尝试表达的思想是清晰的。
如果“清空”意味着“包含一个空字符串”,那么您只需将第一个数组项赋值为零,这将有效地使数组包含一个空字符串:
members[0] = 0;
char* emptyString="";
char* members;
//Set string value
members = "old value";
//Empty string value
member = emptyString
//Will return just "new"
strcat(members,"new");
members[0] = '\0';
。 - pmg