c語言把char轉換成int
發布時間: 2023-07-08 04:54:21
❶ 怎樣把char型數組轉存為int型數組
#include<stdio.h>
#include<string.h>
typedefunsignedcharuchar;
typedefunsignedintuint;
//轉換函數
//Temp字元型數組
//pOutint型數組
//length字元型數組的長度
//這里假設字元型數組里包含的都是偶數個元素
//如果是奇數個數,則需要增加如下處理:
//檢查length是否是奇數,如果是,動態分配length+1個char大小的數組
//數據全部清零,並且把Temp的內容拷貝到動態分配的數組中
//按照下面長度是偶數的情況處理
//釋放動態分配的內存
//這里根據問題要求,應該是以小端序來存放int類型的
//如果更智能一些,可以寫一個檢查位元組序的函數來處理
voidExchange(constuchar*Temp,uint*pOut,ucharlength)
{
inti=0;
for(;i<length/2;i++)
{
//小端序,直接按原來的順序拷貝過去
//如果是大端序,則可以改變一下位元組序
memcpy(pOut,Temp,2);
pOut++;//int型指針後移一位
Temp+=2;//字元型位元組後移兩位
}
}
//測試代碼
intmain(void)
{
inti;
uintarray[20]={0};
ucharStart[]={0x80,0xF1,0x58,0x03,0xC1,0xEA,0x8F,0x06};
Exchange(Start,array,sizeof(Start));
for(i=0;i<20;i++)
{
if(array[i]!=0)
{
printf("0x%04X",array[i]);
}
}
printf(" ");
return0;
}
輸出截圖:
熱點內容