C - 从字节数组的一部分获取字符

标签 c pointers char bytearray

如何从字节数组的一部分中获取字符数组或字符指针?假设我在字节数组中有可变大小的字符串,它从 18 个字节开始,到数组末尾 4 个字节结束。我怎样才能得到这个?

编辑: 那点呢?我应该在那个字节数组中有点,但是当我通过 memcpy 复制时,我得到没有点的字符串。我该如何解决这个问题?

最佳答案

要提取数组的一部分,您可以使用memcpy

#include <string.h>

char dst[4];

/* Here, we can assume `src+18` and `dst` don't overlap. */
memcpy(dst, src + 18, 4);

C11 (n1570), § 7.24.2.1 The memcpy function
The memcpy function copies n characters from the object pointed to by s2 into the object pointed to by s1. If copying takes place between objects that overlap, the behavior is undefined.

关于C - 从字节数组的一部分获取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443257/

相关文章:

当路由器无法连接到互联网时连接功能 block

c - 在 C 中读取二进制文件时出现段错误

c - 如何比较指针和整数?

c++ - 我应该为指针赋值使用什么返回类型?

c - 将 FILE 指针传递给函数并收到错误消息 'FILE is an unknown type name'

不同文件中枚举和数组的一致性检查

c - 当我尝试在 c 中初始化时的指针

c# - C#中如何将整数转换为字符?

c - fprintf 中的字符串是错误的数据类型(%s)

c - C 中基于八进制的数字格式