1 /******************************************************************************** 2 * Binary file to C array(bin2c) 3 * 说明: 4 * 由于工作中需要将bmp文件数据转换成C数组,于是写了这个工具(bin2c),代码如你 5 * 所见,只有看上去不多的几行. 6 * 7 * 2015-4-20 周一 阴 深圳 南山 西丽平山村 曾剑锋 8 *******************************************************************************/ 9 #include10 #include 11 12 int main ( int argc, char** argv )13 {14 int i = 0; 15 char ch = '\0'; 16 17 if ( 2 != argc ) {18 printf( "\n Usage: bin2c \n\n" );19 return -1;20 }21 22 FILE *binfile = fopen( argv[1], "rb" );23 24 // get file name for array's name25 while ( '.' != argv[1][i++] );26 argv[1][ i-1 ] = 0;27 28 //get file data and change to const unsigned char array's data29 i = 1;30 printf( "const unsigned char %s[] = { \n\t", argv[1] );31 while ( EOF != (ch = fgetc( binfile )) ) 32 printf( "0x%02X%s\t", (unsigned char)ch , ( i++ % 8 ) == 0 ? "\n" : "" );33 printf( "\n};\n" );34 35 fclose( binfile );36 }