C语言编程怎么将截断一个数组的一部分

2025-03-24 14:44:20
推荐回答(3个)
回答1:

  1. 截断一个数组的一部分相当于取得一个数组的某一个子集数组。

  2. 如果是字符数组,可以使用strncpy函数,根据需要截取需要部分。

    strncpy 是 C语言的库函数之一,来自 C语言标准库,定义于 string.h,char *strncpy(char *dest, char *src, int n),把src所指字符串的前n个字节复制到dest所指的数组中,并返回指向dest的指针。

  3. 如果是普通数组,使用循环语句,将需要的部分一一赋值即可。

    例如:


    #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;
    }

回答2:

这很容易,但并不需要,数组原来长度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;
}

回答3:

可以考虑 strncpy 函数