c - C语言中如何判断一个字符数组有多少个字符?

标签 c arrays loops char operating-system

我使用的是 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/

相关文章:

c++ - 如果我被冒充,为什么 Win32 API 函数 CredEnumerate() 会返回 ERROR_NOT_FOUND?

C语言,利用MPI的Reduce函数,让进程0求所有进程的行列之和

arrays - 将 Julia 函数应用于数组的嵌套数组

python - 从零到n到零的单个python循环

c - 对其可包含的元素数量没有预定义限制的数组

c - 内核函数中断失败但 ioctl 失败

java - 有没有办法在定义函数的返回类型时指定数组的长度?

c - 如果只在运行时知道,如何调用函数指针,其中参数的数量

python-3.x - 在 BeautifulSoup 中同时打印不同结果集中的不同标签

javascript - 如何在 Javascript 中的某个限制后打破数组