c語言把幾個數組的數據連接起來
unsigned long a[4];為無符號長整型數組,個數 4,實際占用字節4*4=16
unsigned char b[16];為一字符數組,16字節
都是128比特,用16進制表示,比如a[0]=0x12345678;a[1]=0x87654321;a[2]=0xabcdefgh;a[3]=0xhgfedcba;
現想要把數組a的值都給b,即讓b=0x1234567887654321abcdefghhgfedcba;
該用什麼函數?盡量不用指針吧
本人初學,望指教~多謝!
最佳回答:
#include
void main()
{
unsigned long a[4]={0x12345678, 0x87654321, 0x23456789, 0x98765432};
unsigned char b[16]="";
int j,k;
int i;
j = 0;
for(i=0;i<4;i++){
for(k=3;k>-1;k--)
b[j++]=(a[i]>>(k*8))&0xff;
}
for(i=0;i<16;i++)
printf("%x",b[i]);
return;
}