Advertisement

C语言处理二进制数据流

阅读量:

通过对赫夫曼编码的学习,针对二进制流如何存储至二进制文件以及如何从二进制文件中读取二进制流的问题进行了深入探讨,结合网络上众多技术爱好者分享的零散资料,最终完成了该功能的实现。需要说明的是,本人目前正处于C语言学习阶段,无法与专业人员相提并论。其核心原理是借助一组特定的掩码,对需要读取或写入的字符进行位运算操作,从而逐位地完成对二进制码流的写入或输出过程。

源码:

复制代码
    #include <stdio.h>
    #define FILE_PATH "d:\ 1.dat"
    char *bin="001101110110001000010000111100";
    unsigned char mask[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; 
    FILE *fp;
    
    int BinRead(){
    unsigned char get[255];
    int  pos,p = 0;
    unsigned char ch;
    fopen_s(&fp,FILE_PATH, "rb"); 
    ch = fgetc(fp);
    while(!feof(fp)){
        for(pos=7;pos>=0;pos--){
            if(ch 

全部评论 (0)

还没有任何评论哟~