#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
const int LINEBUF = 16;
int main(int argc,char **argv){
int fd=0;
char buf[LINEBUF];
if(argc < 2){
fprintf(stderr,"filename must be specified\n");
exit(8);
}
fd = open(argv[1],O_RDONLY);
if(fd == -1 ){
fprintf(stderr,"file open error\n");
exit(8);
}
while((read(fd,buf,LINEBUF))>0){
int i;
//linenumberprint
fprintf(stdout,"%02x ",buf[i]);
//hexdump
for(i = 0; i<LINEBUF ;i++ ){
if(buf[i] == '\0'){
continue;
}
if(buf[i] == EOF){
break;
}
//fprintf(stdout,"%c",buf[i]);
fprintf(stdout,"%02x ",buf[i]);
}
//charcterprint
for(i = 0; i<LINEBUF ;i++ ){
if(buf[i] == '\0'){
continue;
}
if(buf[i] == EOF){
break;
}
fprintf(stdout,"%c",buf[i]=='\n' || buf[i]=='\t' ? '.' : buf[i] );
//fprintf(stdout,"%02x ",buf[i]);
}
puts("");
}
close(fd);
return 0;
}
#include <stdlib.h>
#include <fcntl.h>
const int LINEBUF = 16;
int main(int argc,char **argv){
int fd=0;
char buf[LINEBUF];
if(argc < 2){
fprintf(stderr,"filename must be specified\n");
exit(8);
}
fd = open(argv[1],O_RDONLY);
if(fd == -1 ){
fprintf(stderr,"file open error\n");
exit(8);
}
while((read(fd,buf,LINEBUF))>0){
int i;
//linenumberprint
fprintf(stdout,"%02x ",buf[i]);
//hexdump
for(i = 0; i<LINEBUF ;i++ ){
if(buf[i] == '\0'){
continue;
}
if(buf[i] == EOF){
break;
}
//fprintf(stdout,"%c",buf[i]);
fprintf(stdout,"%02x ",buf[i]);
}
//charcterprint
for(i = 0; i<LINEBUF ;i++ ){
if(buf[i] == '\0'){
continue;
}
if(buf[i] == EOF){
break;
}
fprintf(stdout,"%c",buf[i]=='\n' || buf[i]=='\t' ? '.' : buf[i] );
//fprintf(stdout,"%02x ",buf[i]);
}
puts("");
}
close(fd);
return 0;
}