我需要反轉這個功能,它是用來表示十六進制值隱蔽字符串爲char表示反相功能(從焦炭到十六進制字符串)
char * extochar(char * in, int inLen){
int i,k;
int resInt[inLen/2];
char * resChar=malloc(inLen/2);
k=0;
for(i=0; i<inLen/2; i=i++){
resInt[k]=chartoint(in[i*2])<<4;
resInt[k]+=chartoint(in[(i*2)+1]);
k++;
}
for(k=0; k<inLen/2;k++){
resChar[k]=(char)resInt[k];
}
return resChar;
}
注:有效輸入僅由1234567890abcdef字符串,其長度。我能夠顛倒Cicle的第二個(很容易),但不是第一個!
你到目前爲止嘗試過什麼?究竟是什麼導致你的問題?也請嘗試澄清你想要的功能,現在很難理解你想要什麼。 –
'i = i ++'在你的for循環中是亂碼 – Dipstick
什麼是char表示?你是否希望將十六進制字符串轉換爲十進制字符串?看看'strtol'和'sprintf' – Dave