pix_conv.c
来自「国产CPU-龙芯(loongson)BIOS源代码」· C语言 代码 · 共 70 行
C
70 行
#include <stdio.h>inline void flush(char *buf, int off); char default_inname[]="test.bmp";char default_outname[]="test.h";int main(int argc, char *argv[]){ char *in_fname=default_inname; char *out_fname=default_outname; FILE *fp,*fp1; char pix; char buf[9]; int i = 0; int j = 0; if (argc > 1) in_fname = argv[1]; if (argc > 2) out_fname = argv[2]; fp = fopen(in_fname, "r"); if (fp == NULL) { perror("fopen"); return -1; } fp1 = fopen(out_fname, "w"); if (fp1 == NULL) { perror("fopen"); return -1; } i = 0; fseek(fp, 62, SEEK_SET); while (!feof(fp)) { fread(&pix, 1, 1, fp); sprintf(buf + ((i % 4)<<1),"%02x", pix); flush(buf, (i % 4)*2+2); if(!((i+1) % 4)) { fprintf(fp1,"0x"); for (j = 0; j<= 2*(i%4)+1; j++) fprintf(fp1,"%c", buf[j]); fprintf(fp1,", "); } i++; if (!(i % 32)) fprintf(fp1,"\n"); } if ((i - 1) % 4) fprintf(fp1,"0x%s, ", buf); printf("i=%d\n", i); fclose(fp); fclose(fp1); return 0;}inline void flush(char *buf, int off){ int i = 0; for (i = off; i < sizeof(buf); i++) { buf[i]=0x00; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?