用C++将一个字符数组中的四个元素读入另一个字符阵列
Read four elements from a character array into another character array in C++
假设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);
相关文章:
- 如何在C++中确定文本文件中的元素是字符还是数字
- 对字符数组中的元素执行逐位操作
- 从字符数组的元素中减去'a'是什么意思
- 常量数组如何在每个元素中只能包含字符,而 char* 数组能够指向每个元素中的字符串?
- 为什么在 c++ 中分配 char 数组元素时,分配的字符会被销毁?
- 有没有办法搜索向量的元素,<String>然后检查它是否包含特定的字符,如果它确实打印了它
- 如何擦除矢量元素中没有特定字符的元素
- C++ 无法更改字符数组中的元素
- 为什么这段代码给出错误......'a'是指针到字符指针,应该存储's'的地址,因为s是指向数组的第一个元素的指针
- 如何将 int 数组的 1 个元素转换为字符串/字符
- 如何在 2D 字符数组中打印 [x][y] 元素的地址?(C++)
- 在字符串的每个元素(不使用弦乐)的每个元素之后插入字符
- C++ 使用 find_first_not_of(字符*)删除矢量元素
- 在 c++ 中使用未知元素初始化的字符数组
- 删除具有某些字符要求的字符串向量的元素
- 如何获取数组中字符串元素的字符数?[C++]
- 将字符值分配给向量元素.C
- 字符指针对象和相应的字符数组元素比较
- 从 1 中创建新的字符 * 作为参数,元素位于 2 个索引之间
- 将4字节整数放入vector的前4个字符元素中