#include <stdio.h>
void display(void);
int main(int argc, char** argv)
{
FILE *fp;
unsigned char RData[512]={0};
unsigned char ch;
unsigned int i;
unsigned int j;
unsigned char k;
if(argc!=2)
{
printf("Command parameter not correct!\n");
return 1;
}
else if((fp=fopen(argv[1], "r"))==NULL)
{
printf("Can not open file %s\n", argv[1]);
return 1;
}
else
{
while(!feof(fp))
{
for(i=0;i<512;++i)
{
ch=getc(fp);
RData[i]=ch;
if(RData[i]==EOF)
{
break;
}
}
display();
for(i=0;i<512;i=i+16)
{
printf("%08X ", RData+i);
for(j=0+i;j<16+i;++j)
{
if(RData[j]==EOF)
{
for(k=0;k<(16-(j%16));++k)
{
printf(" ");
}
break;
}
printf("%02X ", RData[j]);
}
for(j=0+i; j<16+i; ++j)
{
if(RData[j]==EOF)
{
return 1;
}
if(0==RData[j])
{
printf(".");
}
else if(RData[j]<32)
{
printf(".");
}
else if(RData[j]>127)
{
printf(".");
}
else
{
printf("%c", RData[j]);
}
}
printf("Press any key......");
putchar('\n');
}
getchar();
}
}
fclose(fp);
return 0;
}
void display(void)
{
unsigned char ucCnt;
printf("---------------------------------------"
"----------------------------------\n");
printf("address Hexa ASCII\n");
printf(" ");
for(ucCnt=0; ucCnt<=15; ucCnt= ucCnt +1)
{
printf("%02X ", ucCnt);
}
putchar('\n');
printf("---------------------------------------"
"----------------------------------\n");
return;
}
'코스웨어 > 13년 스마트컨트롤러' 카테고리의 다른 글
파일 읽고, 배열[512]만큼 Hexaview 띄우기 [손초롱] (0) | 2013.05.03 |
---|---|
[숙제]hexaview---문예진 (2) | 2013.05.03 |
hexaview로 파일 내용 출력 _ 진종영 (0) | 2013.05.03 |
헥사뷰어_석주원 (0) | 2013.05.03 |
[과제제출]hexaview 0503 - 이수현 (0) | 2013.05.03 |
2013-04-30 정리 - 전영기 (14) | 2013.05.03 |
파일 헥사뷰 조유진 (0) | 2013.05.03 |
2013.05.03_헥사뷰_파일출력_김성엽 (0) | 2013.05.03 |