我正在使用C,无法访问库或类似的东西,因为这是操作系统的内核代码。所以我不能使用sizeOf或任何类似的内置函数。 name []是一个保存文件名的字符数组,但是文件名最多可以包含6个字符,我想确定文件名的实际长度。

现在,我的代码如下所示:

int length = 0;

while(name[length] != 0x0)
{
     length++;
}




我也尝试用0x0替换为'\ 0',但是它仍然无法正常工作。

理想情况下,它将遍历char数组,并在到达文件名末尾时停止,但是我很确定它会继续前进。

最佳答案

数组的最后一个字符后面可能不包含零个字符('\ 0')。
您可以通过在填充数组时添加'\ 0'来直接解决此问题,或者在填充之前通过'\ 0'初始化整个数组。

关于c - 如何确定C的字符数组中有多少个字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59064041/

10-11 22:10
查看更多