d224.bmp.txt

来自「Visual C++通信编程实例」· 文本 代码 · 共 46 行

TXT
46
字号
224
int nDst;    ,,目标解码串的计数值
int nByte,    /,当前正在处理的组内字节的序号,范围是O~6
unsigned char nLeft;  /,上一字节残余的数据
,,计数值初始化
nSrc=0:
nDst=0:
,,组内字节序号和残余数据初始化
nByte=0;
nLeft=0:
/,将源数据每7个字节分为一组,解压缩成8个字节
//循环该处理过程,直至源数据被处理完
/,如果分组不到7字节,也能正确处理
while(nSrc<nSrcLength)
{
    //将源字节右边部分与残余数据相加,去掉最高位,得到一个目标解码字节
    *pDst=《*pSrc<<nByte)【nLeft)& Ox7f;
    //将该字节剩下的左边部分,作为残余数据保存起来
    nLefi= *pSrc>>(7-nByte);
    //修改目标串的指针和计数值
    pDst++;
    nDst++;
    ,,修改字节计数值
    nB yte++;
    ,,到了一组的最后一个字节
    if(nByte==7)
    {
    //额外得到一个目标解码字节
    *pDst= nLeft;
    ,/修改目标串的指针和计数值。
    pDst++;
    nDst++;
    ,,组内字节序号和残余数据初始化
    nByte=0;
    nLeft=0:
    }
    ,,修改源宰的指针和计数值
    pSrc++;
    nSrc++;
1
//输出字符串加个结束符
*pDst=t\0’;
,/返回目标串长度
retum nDst;
)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?