用C++将一个字符数组中的四个元素读入另一个字符阵列

Read four elements from a character array into another character array in C++

本文关键字:字符 元素 四个 阵列 另一个 数组 C++ 一个      更新时间:2023-10-16

假设char *data = "02001110000000000"

如何将仅前四个元素0200移动到另一个字符数组中?

您可以使用strncopy:

char *data = "02001110000000000"
char dest[4];
strncopy(dest, data, 4);

注意,strncopy不复制空终止字符(''),所以这里的dest不是一个字符串,它只是一个有四个char s的数组。如果你想让它成为字符串"0200",你必须将它定义为一个五元素数组,并自己附加''字符。

假设您不需要字符复制到新数组中(即重用相同分配的内存是可以接受的),您可以为此做一些指针技巧。

数组只是指向第一个元素的指针。

char firstFour[4] = &data[0];
or
char *firstFour = &data[0];

要从第一个阵列中删除元素,请执行

data = &data[4];

char*newArray=new char[4];

memcpy(newArray,data,4);