zoukankan      html  css  js  c++  java
  • 将char转成bit,文件读写

    好久不写代码,一段将bmp写到mif的小程序花了我好几个小时。以后要多练习啊。

     1 #include <string.h>
     2 #include <stdio.h>
     3 #include <math.h>
     4 
     5 
     6 void main(){
     7     char str[3];
     8     char pos_str[5];
     9 
    10     FILE *fp_read;
    11     fp_read = fopen("pattern_mem.bmp","r");
    12 
    13     FILE *fp_write;
    14     fp_write = fopen("pattern_rom.mif","w");
    15 
    16     if(fp_write == NULL || fp_read == NULL)
    17     {
    18         printf("can't open files!");
    19         return ;
    20     }
    21 
    22     char bmp_head[54];
    23     //读出BMP头,抛弃不要
    24     fread(bmp_head,sizeof(char)*54,1,fp_read);
    25     //读出RGB信号,按顺序存入mif文件
    26     for(int i = 0 ; i< 28800; i++)
    27     {
    28         fread(str, 3, 1, fp_read);
    29         fprintf(fp_write,"%x:",i);
    30 
    31         //这里可能大小端有问题
    32         int result[24]={0};
    33         for(int j = 0 ; j < 8; j++)
    34             result[j] = (str[0] & (0x01 << j))?1:0;  
    35         for(int m = 0 ; m < 8; m ++)
    36             result[8+m] = (str[1] & (0x01 << m))?1:0;
    37         for(int n = 0; n < 8 ; n++)
    38             result[16+n] = (str[2] & (0x01 << n))?1:0;
    39 
    40         for(int k = 0; k<24; k++)
    41             fprintf(fp_write, "%d",result[k]);
    42 
    43         fprintf(fp_write,"\n");
    44 
    45     }
    46     fclose(fp_read);
    47     fclose(fp_write);
    48 
    49     return ;
    50 } 
  • 相关阅读:
    技术人生:墨菲定律
    Ioc:Autofac Registration Concepts
    Ioc:autofac lifetime scope.
    Ioc:The basic pattern for integrating Autofac into your application
    Logstash filter 插件之 date
    配置 Elasticsearch 集群
    Linux 命名管道
    Linux 管道
    Golang 入门 : channel(通道)
    Golang 入门 : 竞争条件
  • 原文地址:https://www.cnblogs.com/bubbler/p/2576864.html
Copyright © 2011-2022 走看看