所以,我有这个字符串
char currentString [212] = {0};

使用一次后,我想重置它。
我倾向于多种方式,例如:

for (int k = 0; k < strlen(currentString); k++)
{
    currentString[k] = '\0';
}


但它不会超过一次遍历循环,并且只为第一个字符赋予“ \ 0”,其余字符保持不变。

而且我还尝试了:

currentString[0] = '\0';


但是我得到了相同的结果。

有什么建议我该怎么办?
谢谢!

最佳答案

一次又一次地计算任何东西永远不是一个好的决定。相反,您应该只计算一次strlen()。
话虽这么说,在您的情况下,这样做可以解决问题,因为它不起作用的原因是strlen()在第一轮之后立即返回0,因为字符串的长度变为0。

int n = strlen(currentString);
for (int k = 0; k < n; k++)
{
    currentString[k] = '\0';
}

09-11 18:14