如何分割一个数组字符到另外两个数组char?例如: :拆分数组字符
char array1 [9] = {10011010}; char array2 [5],array3 [5];
现在我想把1001放在array2和1010 array3中 我该如何请求?
如何分割一个数组字符到另外两个数组char?例如: :拆分数组字符
char array1 [9] = {10011010}; char array2 [5],array3 [5];
现在我想把1001放在array2和1010 array3中 我该如何请求?
#include <cstring>
memcpy(array2, array1, 4);
memcpy(array3, array1+4, 4);
或
#include <algorithm>
std::copy(array1, array1+4, array2);
stdd::copy(array1+4, array1+8, array3);
似乎从你保持比你需要多一个字节的数组的大小。也许这些是字符串,除了是简单的数组?如果是这样,请记住在数组末端放一个空字节使用它们之前:
array2[4] = 0;
array3[4] = 0;
你可以使用一个for loop,memcpy或STL的copy algorithm。
那么,你的第一个数组是9个字符。如果你把它分成两部分,一部分必须是5,一部分必须是4个字符。这应该是诀窍:
char array1[9] = {'1', '2', '3', '4', '5', '6', '7', '8', '9'}; // not a null-terminated string
int len = sizeof(array1)/sizeof(array1[0]);
int len1 = len/2;
int len2 = len - len1;
char* array2 = new char[len1];
char* array3 = new char[len2];
memcpy(array2, array1, len1);
memcpy(array3, array1 + len1, len2);
如果第二次新的抛出有内存泄漏。当然是 – 2011-04-08 13:42:18
,但这不是重点。我敢肯定你可以在网上发布的大多数样本中发现这样的问题。你可以使用std :: vector作为实例,而不关心分配内存,并且你不会在那里遇到这样的问题。我的样本是对一种可能解决方案的快速参考。 – 2011-04-08 13:59:47