C++里8(16)字节数组的逆序输出函数

来源:百度知道 编辑:UC知道 时间:2024/05/31 11:26:57
我在做毕业设计,遇到一个问题呀~我需要一个函数,能把原来8或16字节的数组逆序输出,就是要能实现一个8字节的数组的逆序输出,还有16字节数组的逆序输出~~~~两个函数分别写,或者能用一种方法也行,大侠帮帮忙
谢谢啦

还有一个问题,怎么在列表控件里应该显示字符串数据的地方显示16进制的数字啊,即buffer中的原始数据?我把Buffer里的东西memcpy到一个数组里再显示出来还是空的~~~HELPHELP~!~!~!

回答好了追加哦,万分感谢~!~!~!
比如说BYTE a[8] 然后某函数bb(BYTE a[8]);执行后就能把a[8]里的数逆序了还是存在a[8]里谢谢~~~

itoa函数能不能把数组里的整数转换为16进制显示的字符串呀~~~HELP~~~

bb(BYTE a[8], int len) {
for(int i = 0; i < len; i++) {
for (int j = len - 1; j > i; j--) {
byte tmp = a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}

void bb(BYTE a[], int len) {
for(int i = 0; i < len/2; i++) {
byte tmp = a[i];
a[i]=a[len-i-1];
a[len-i-1]=tmp;
}
}

itoa函数可以将整数转换为字符串。
itoa(number, string, 16);

...你大概走进死胡同了。。
逆序输出其实很简单:

int a[20];
这里我就不赋值了
for(int i=19;i>=0;i--)
cout<<a[i]<<endl;
这就达到了逆序输出。。。。

第一个问题没看懂,数组逆序输出不是很容易写吗?
第二个要么用16进制声明输出,要是不行先把10进制转成16进制的字符。itoa(number, string, 16);

-_-

"执行后就能把a[8]里的数逆序了还是存在a[8]里"

这是啥意思, 你到底是要把a中的东西从后往前读取出来?
还是说要把a中的东西前后倒个个

关于数组逆序,提供一个思路
void rev_array(int a[],int len){
int t,i=0;
while(i<len/2){
t = a[len - 1 - i];
a[len - 1 - i] = a[i];
a[i] = t;
}
}