我試圖用這兩個原型編寫C函數:
int extract_little (char* str, int ofset, int n);
int extract_big(char* str, int ofset, int n);
現在一般的想法是我需要從地址str ofset開始以兩種格式返回一個n字節整數 . 附: Ofset還沒有做任何事情,我計劃(試圖)通過一個偏移來改變內存,一旦我弄清楚小端,對于大 .
我試圖讓它像這樣輸出;對于小端,基于 i=0xf261a3bf; ,0xbf 0xa3 0x61 0xf2
int main()
{
int i = 0xf261a3bf;
int ofset = 1; // This isn't actually doing anything yet
int z;
for (z = 0; z < sizeof(i); z++){
printf("%x\n",extract_little((char *)&i,ofset, sizeof(i)));
}
return 0;
}
int extract_little(char *str,int offs, int n) {
int x;
for (x = 0; x < n; x++){
return str[x];
}
}
我不知道還有什么可以嘗試的 . 我想出了即使我認為我把它放在for循環中的困難方式,我仍然無法從返回中返回超過1的值 .
謝謝!