檔案資料轉十六進位制數生成陣列
阿新 • • 發佈:2018-12-20
#include <stdio.h>
#include <string.h>
/*
* feof():當設定了與流關聯的檔案結束識別符號時,該函式返回一個非零值,否則返回零。
* C 庫函式 int getc(FILE *stream) 從指定的流 stream 獲取下一個字元(一個無符號字元),並把位置識別符號往前移動。
* C 庫函式 int fprintf(FILE *stream, const char *format, ...) 傳送格式化輸出到流 stream 中。
*/
int main( void )
{
unsigned char tmp;
unsigned long count = 0;
FILE *fip, *fop;
fip = fopen( "test.in", "rb" );
fop = fopen( "test.out", "wb" );
fprintf( fop, "%s", "const char arr[]={" );
while ( !feof( fip ) )
{
tmp = getc( fip );
fprintf( fop, "0x%02X,", tmp );
count++;
}
fprintf( fop, "%s", "}" );
fprintf( fop, "\n\n一共有%u-1個位元組\n記得要刪掉最後一個數據0xFF哦(^_^)!" , count );
printf( "一共有%u-1個位元組\n", count );
fclose( fip );
fclose( fop );
return(0);
}