截断一个数组的一部分相当于取得一个数组的某一个子集数组。
如果是字符数组,可以使用strncpy函数,根据需要截取需要部分。
strncpy 是 C语言的库函数之一,来自 C语言标准库,定义于 string.h,char *strncpy(char *dest, char *src, int n),把src所指字符串的前n个字节复制到dest所指的数组中,并返回指向dest的指针。
如果是普通数组,使用循环语句,将需要的部分一一赋值即可。
例如:
#include
int a[10]={0,1,2,3,4,5,6,7,8,9};//源数组a
int b[10],i;//子集数组b
int main(){
for(i=5;i<10;i++) b[i-5]=a[i]; //获得a数组中第6个到第10个数,储存到b当中
return 0;
}
这很容易,但并不需要,数组原来长度len = 10,要丢弃最后的3个数据,只需将len改为7即可。
#include
int main() {
unsigned char sendBuff[10]={0x7d,0x12,0x34,0x89,0xdd,0xc6,0x7e,0,0,0};
unsigned char newBuffer[10];
int i;
for(i = 0; i < 7; ++i)
newBuffer[i] = sendBuff[i];
return 0;
}
可以考虑 strncpy 函数