#include #include char tobin(char* buf); char value(char,char); int main(int argc,char* argv[]){ FILE *fin,*fout; char buf[34]; char prebin[8]; char bin[4]; if((fin = fopen(argv[1],"r")) == NULL){ fprintf(stderr,"File open error: %s \n",argv[1]); } if((fout = fopen(argv[2],"wb")) == NULL){ fprintf(stderr,"File open error: %s \n",argv[2]); } while(1){ if(fgets(buf,34,fin)==NULL){ break; } if(strcmp(buf,"\n") == 0){ break; } buf[32] = '\0'; /*printf("%s\n",buf);*/ /* make char 0x'char'*/ if((prebin[7] = tobin(buf+28)) == 'p'){ fprintf(stderr,"tobin error 1.\n"); break; }else if((prebin[6] = tobin(buf+24)) == 'p'){ fprintf(stderr,"tobin error.\n"); break; }else if((prebin[5] = tobin(buf+20)) == 'p'){ fprintf(stderr,"tobin error.\n"); break; }else if((prebin[4] = tobin(buf+16)) == 'p'){ fprintf(stderr,"tobin error.\n"); break; }else if((prebin[3] = tobin(buf+12)) == 'p'){ fprintf(stderr,"tobin error.\n"); break; }else if((prebin[2] = tobin(buf+8)) == 'p'){ fprintf(stderr,"tobin error.\n"); break; }else if((prebin[1] = tobin(buf+4)) == 'p'){ fprintf(stderr,"tobin error.\n"); break; }else if((prebin[0] = tobin(buf)) == 'p'){ fprintf(stderr,"tobin error last .\n"); break; } bin[0] = value(prebin[0],prebin[1]); bin[1] = value(prebin[2],prebin[3]); bin[2] = value(prebin[4],prebin[5]); bin[3] = value(prebin[6],prebin[7]); fwrite(bin,1,4,fout); } fclose(fin); fclose(fout); return 0; } char tobin(char* buf){ if(strcmp(buf,"0000")==0){ *(buf) = '\0'; return '0'; }else if(strcmp(buf,"0001")==0){ *(buf)= '\0'; return '1'; }else if(strcmp(buf,"0010")==0){ *(buf)= '\0'; return '2'; }else if(strcmp(buf,"0011")==0){ *(buf)= '\0'; return '3'; }else if(strcmp(buf,"0100")==0){ *(buf)= '\0'; return '4'; }else if(strcmp(buf,"0101")==0){ *(buf)= '\0'; return '5'; }else if(strcmp(buf,"0110")==0){ *(buf)= '\0'; return '6'; }else if(strcmp(buf,"0111")==0){ *(buf)= '\0'; return '7'; }else if(strcmp(buf,"1000")==0){ *(buf)= '\0'; return '8'; }else if(strcmp(buf,"1001")==0){ *(buf)= '\0'; return '9'; }else if(strcmp(buf,"1010")==0){ *(buf)= '\0'; return 'a'; }else if(strcmp(buf,"1011")==0){ *(buf)= '\0'; return 'b'; }else if(strcmp(buf,"1100")==0){ *(buf)= '\0'; return 'c'; }else if(strcmp(buf,"1101")==0){ *(buf)= '\0'; return 'd'; }else if(strcmp(buf,"1110")==0){ *(buf)= '\0'; return 'e'; }else if(strcmp(buf,"1111")==0){ *(buf)= '\0'; return 'f'; } return 'p'; } char value(char hi,char low){ switch(hi){ case '0' : switch(low){ case '0' : return 0x00; case '1' : return 0x01; case '2' : return 0x02; case '3' : return 0x03; case '4' : return 0x04; case '5' : return 0x05; case '6' : return 0x06; case '7' : return 0x07; case '8' : return 0x08; case '9' : return 0x09; case 'a' : return 0x0a; case 'b' : return 0x0b; case 'c' : return 0x0c; case 'd' : return 0x0d; case 'e' : return 0x0e; case 'f' : return 0x0f; } break; case '1' : switch(low){ case '0' : return 0x10; case '1' : return 0x11; case '2' : return 0x12; case '3' : return 0x13; case '4' : return 0x14; case '5' : return 0x15; case '6' : return 0x16; case '7' : return 0x17; case '8' : return 0x18; case '9' : return 0x19; case 'a' : return 0x1a; case 'b' : return 0x1b; case 'c' : return 0x1c; case 'd' : return 0x1d; case 'e' : return 0x1e; case 'f' : return 0x1f; } break; case '2' : switch(low){ case '0' : return 0x20; case '1' : return 0x21; case '2' : return 0x22; case '3' : return 0x23; case '4' : return 0x24; case '5' : return 0x25; case '6' : return 0x26; case '7' : return 0x27; case '8' : return 0x28; case '9' : return 0x29; case 'a' : return 0x2a; case 'b' : return 0x2b; case 'c' : return 0x2c; case 'd' : return 0x2d; case 'e' : return 0x2e; case 'f' : return 0x2f; } break; case '3' : switch(low){ case '0' : return 0x30; case '1' : return 0x31; case '2' : return 0x32; case '3' : return 0x33; case '4' : return 0x34; case '5' : return 0x35; case '6' : return 0x36; case '7' : return 0x37; case '8' : return 0x38; case '9' : return 0x39; case 'a' : return 0x3a; case 'b' : return 0x3b; case 'c' : return 0x3c; case 'd' : return 0x3d; case 'e' : return 0x3e; case 'f' : return 0x3f; } break; case '4' : switch(low){ case '0' : return 0x40; case '1' : return 0x41; case '2' : return 0x42; case '3' : return 0x43; case '4' : return 0x44; case '5' : return 0x45; case '6' : return 0x46; case '7' : return 0x47; case '8' : return 0x48; case '9' : return 0x49; case 'a' : return 0x4a; case 'b' : return 0x4b; case 'c' : return 0x4c; case 'd' : return 0x4d; case 'e' : return 0x4e; case 'f' : return 0x4f; } break; case '5' : switch(low){ case '0' : return 0x50; case '1' : return 0x51; case '2' : return 0x52; case '3' : return 0x53; case '4' : return 0x54; case '5' : return 0x55; case '6' : return 0x56; case '7' : return 0x57; case '8' : return 0x58; case '9' : return 0x59; case 'a' : return 0x5a; case 'b' : return 0x5b; case 'c' : return 0x5c; case 'd' : return 0x5d; case 'e' : return 0x5e; case 'f' : return 0x5f; } break; case '6' : switch(low){ case '0' : return 0x60; case '1' : return 0x61; case '2' : return 0x62; case '3' : return 0x63; case '4' : return 0x64; case '5' : return 0x65; case '6' : return 0x66; case '7' : return 0x67; case '8' : return 0x68; case '9' : return 0x69; case 'a' : return 0x6a; case 'b' : return 0x6b; case 'c' : return 0x6c; case 'd' : return 0x6d; case 'e' : return 0x6e; case 'f' : return 0x6f; } break; case '7' : switch(low){ case '0' : return 0x70; case '1' : return 0x71; case '2' : return 0x72; case '3' : return 0x73; case '4' : return 0x74; case '5' : return 0x75; case '6' : return 0x76; case '7' : return 0x77; case '8' : return 0x78; case '9' : return 0x79; case 'a' : return 0x7a; case 'b' : return 0x7b; case 'c' : return 0x7c; case 'd' : return 0x7d; case 'e' : return 0x7e; case 'f' : return 0x7f; } break; case '8' : switch(low){ case '0' : return 0x80; case '1' : return 0x81; case '2' : return 0x82; case '3' : return 0x83; case '4' : return 0x84; case '5' : return 0x85; case '6' : return 0x86; case '7' : return 0x87; case '8' : return 0x88; case '9' : return 0x89; case 'a' : return 0x8a; case 'b' : return 0x8b; case 'c' : return 0x8c; case 'd' : return 0x8d; case 'e' : return 0x8e; case 'f' : return 0x8f; } break; case '9' : switch(low){ case '0' : return 0x90; case '1' : return 0x91; case '2' : return 0x92; case '3' : return 0x93; case '4' : return 0x94; case '5' : return 0x95; case '6' : return 0x96; case '7' : return 0x97; case '8' : return 0x98; case '9' : return 0x99; case 'a' : return 0x9a; case 'b' : return 0x9b; case 'c' : return 0x9c; case 'd' : return 0x9d; case 'e' : return 0x9e; case 'f' : return 0x9f; } break; case 'a' : switch(low){ case '0' : return 0xa0; case '1' : return 0xa1; case '2' : return 0xa2; case '3' : return 0xa3; case '4' : return 0xa4; case '5' : return 0xa5; case '6' : return 0xa6; case '7' : return 0xa7; case '8' : return 0xa8; case '9' : return 0xa9; case 'a' : return 0xaa; case 'b' : return 0xab; case 'c' : return 0xac; case 'd' : return 0xad; case 'e' : return 0xae; case 'f' : return 0xaf; } break; case 'b' : switch(low){ case '0' : return 0xb0; case '1' : return 0xb1; case '2' : return 0xb2; case '3' : return 0xb3; case '4' : return 0xb4; case '5' : return 0xb5; case '6' : return 0xb6; case '7' : return 0xb7; case '8' : return 0xb8; case '9' : return 0xb9; case 'a' : return 0xba; case 'b' : return 0xbb; case 'c' : return 0xbc; case 'd' : return 0xbd; case 'e' : return 0xbe; case 'f' : return 0xbf; } break; case 'c' : switch(low){ case '0' : return 0xc0; case '1' : return 0xc1; case '2' : return 0xc2; case '3' : return 0xc3; case '4' : return 0xc4; case '5' : return 0xc5; case '6' : return 0xc6; case '7' : return 0xc7; case '8' : return 0xc8; case '9' : return 0xc9; case 'a' : return 0xca; case 'b' : return 0xcb; case 'c' : return 0xcc; case 'd' : return 0xcd; case 'e' : return 0xce; case 'f' : return 0xcf; } break; case 'd' : switch(low){ case '0' : return 0xd0; case '1' : return 0xd1; case '2' : return 0xd2; case '3' : return 0xd3; case '4' : return 0xd4; case '5' : return 0xd5; case '6' : return 0xd6; case '7' : return 0xd7; case '8' : return 0xd8; case '9' : return 0xd9; case 'a' : return 0xda; case 'b' : return 0xdb; case 'c' : return 0xdc; case 'd' : return 0xdd; case 'e' : return 0xde; case 'f' : return 0xdf; } break; case 'e' : switch(low){ case '0' : return 0xe0; case '1' : return 0xe1; case '2' : return 0xe2; case '3' : return 0xe3; case '4' : return 0xe4; case '5' : return 0xe5; case '6' : return 0xe6; case '7' : return 0xe7; case '8' : return 0xe8; case '9' : return 0xe9; case 'a' : return 0xea; case 'b' : return 0xeb; case 'c' : return 0xec; case 'd' : return 0xed; case 'e' : return 0xee; case 'f' : return 0xef; } break; case 'f' : switch(low){ case '0' : return 0xf0; case '1' : return 0xf1; case '2' : return 0xf2; case '3' : return 0xf3; case '4' : return 0xf4; case '5' : return 0xf5; case '6' : return 0xf6; case '7' : return 0xf7; case '8' : return 0xf8; case '9' : return 0xf9; case 'a' : return 0xfa; case 'b' : return 0xfb; case 'c' : return 0xfc; case 'd' : return 0xfd; case 'e' : return 0xfe; case 'f' : return 0xff; } break; default : break; } return 0x00; }