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 } 
  • 相关阅读:
    回调函数的理解[转]
    Android开发的小技巧总结
    获取Android源码
    PopupWindow的dismiss
    Linux下Android ADB驱动安装详解
    ubuntu下svn使用指南
    透明的Dialog
    ubuntu下SVN服务器安装配置
    JAVA签名
    android Intent API8
  • 原文地址:https://www.cnblogs.com/bubbler/p/2576864.html
Copyright © 2011-2022 走看看