69,369
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string.h>
#include <conio.h>
FILE *fi,*fo;
unsigned int n;
int c;
//-------------------------------------------------------
void main(int argc,char *argv[])
{
if (argc<3) {
cprintf("Bin2Hex srcfile desfile");
return;
}
if ((fi=fopen(argv[1],"rb"))==NULL) {
cprintf("Can not find file %s",argv[1]);
return;
}
if ((fo=fopen(argv[2],"w"))==NULL) {
fclose(fi);
cprintf("Can not create file %s",argv[2]);
return;
}
n=0;
while (1) {
c=fgetc(fi);
if (EOF==c) break;
n++;
if (1==n) fprintf(fo, "0x%02X",c);
else {
if (1==n%16) fprintf(fo,"\n0x%02X",c);
else fprintf(fo, ",0x%02X",c);
}
}
fcloseall();
cprintf("OK to Bin2Hex %u bytes.",n);
}
char hz[3]="中";
char bt[2];
char hx[5];
memcpy(bt,hz,2);
sprintf(hx,"%02X%02X",(unsigned char)hz[0],(unsigned char)hz[1]);
printf("%02X%02X\n",(unsigned char)hz[0],(unsigned char)hz[1]);//D6D0
printf("%02X%02X\n",(unsigned char)bt[0],(unsigned char)bt[1]);//D6D0
printf("%s\n",hx);//D6D0