gpt4 book ai didi

c - 嵌入式域中 strlen() 的缺点

转载 作者:行者123 更新时间:2023-11-30 18:23:05 27 4
gpt4 key购买 nike

使用 strlen() 有哪些缺点?

如果有时在 TCP 通信中字符串中出现 NULL 字符,那么我们会发现字符串的长度最多只能为 NULL 字符。

我们无法找到字符串的实际长度。

如果我们对此 strlen 函数进行其他替代,它也会停止在 NULL 字符处。那么我可以使用哪种方法来找出 C 中的字符串长度

最佳答案

要读取“TCP 通信”,您可能正在使用readread 的原型(prototype)是

ssize_t read(int fildes, void *buf, size_t nbyte);

返回值是读取的字节数(即使它们是0)。
因此,假设您要读取 10 个字节,所有字节均为 0。您有一个足以容纳所有数据的数组

int fildes;
char data[1000];
// fildes = TCPConnection
nbytes = read(fildes, data, 1000);

现在,通过检查 nbytes 你知道你已经读取了 10 个字节。如果您检查 data[0]data[9],您会发现它们有 0

关于c - 嵌入式域中 strlen() 的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9173017/

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