gpt4 book ai didi

c - 关于C编程中的strlen函数

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:07 25 4
gpt4 key购买 nike

目前正在 MPLAB IDE 中为 PIC mcu 编译 C 程序。我只想计算字符串的长度,我正在使用 strlen 函数。但它一直返回值 0。下面是我的代码:

在主循环中我得到了这个函数:

BYTE RXDATA[128];

CountData(RXDATA);

CountData函数如下:

BYTE CountData(BYTE* pData)
{
BYTE nLen;
nLen = strlen((char*)pData);
return nLen;
}

RXDATA 的实际长度通常超过 50,但我的 nLen 总是给我 0。你们知道哪里出了问题吗?还是有其他计算长度的方法?

最佳答案

首先,您对 CountData() 的调用需要将值存储在某处,例如:

int x = countData(RXDATA);

但是想一想。每天有无数 数百万 的人使用 strlen 而没有失败。测试过您的 代码的人数可能只有很少的个位数。 认为问题出在哪里?

:-)

如果您的 strlen 返回零,这几乎可以肯定是因为您的输入缓冲区的第一个字节是 \0,这意味着字符串 长度为零。

暂时改变:

BYTE RXDATA[128];
CountData(RXDATA);

变成类似的东西:

BYTE RXDATA[128];
strcpy (RXDATA, "Pax");
int x = CountData(RXDATA); // then check x.

看看会发生什么。我怀疑您会看到 3 作为返回值。

关于c - 关于C编程中的strlen函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26007444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com