导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

如何将int 型数组转换成byte型数组

younghust 2004-04-10 05:04:31
我用VC作了一个从文件中读数据并写入数据库的程序,文件中有一块数据是用1024个
int整数表示的波行,我觉得数据量太大了,想对这一块数进行压缩,就下了一个LZ77的压缩算法。它要求输入的是byte型的数组,而我从文件中是按int型数组读入数据的,请问如何将int型数组转化成byte型数组??谢谢
...全文
280 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
HanZhu1 2004-04-12
都说了
回复
ymbymb 2004-04-12
直接把int*强制转换成char*就可以了, 解压缩后再把char*强制转换成int*就可以了
回复
fieldwind 2004-04-12
来晚了,抢不到分了。
回复
younghust 2004-04-11
我是一个int型数组阿,有1024个点,如果按位处理,怎么写了?
回复
快乐鹦鹉 2004-04-11
单个的写好了,多个的你还不会阿?
BYTE bt[1024*4];
int it[1024];
for(int i=0;i<1024;i++)
{
int nInt = it[i];
bt[i*4] = nInt>>24;
bt[i*4+1] = (nInt>>16)&0x000f;
bt[i*4+2] = (nInt>>8)&0x000f;
bt[i*4+3] = nInt&0x000f;
}
回复
dzqsuper 2004-04-10
接点分
回复
像一楼做的,按位处理
回复
微星1234 2004-04-10
int p_nSrc[1024];//存储文件中的int数组数据
BYTE *p_bSrc=(BYTE*)p_nSrc;
直接用p_bSrc不就行啦, 虽然4字节一段会倒置, 但压缩和解压缩和顺序无关.
回复
ross33123 2004-04-10
示例

void foo(byte data[], int size);
int main()
{
...
int arr[len];
foo((byte *)arr, sizeof(arr));
...
}
回复
快乐鹦鹉 2004-04-10
int nInt;
BYTE bt[4];
bt[1] = nInt>>24;
bt[2] = (nInt>>16)&0x000f;
bt[3] = (nInt>>8)&0x000f;
bt[4] = nInt&0x000f;
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……