/****************************************************************************** * * Title : binToText.c * Version 0.0, * * Description: * * Author: Lukas Tomasek, tomasekl@fzu.cz * ******************************************************************************/ /****************************************************************************** * Header files * ******************************************************************************/ #include #include /****************************************************************************** * Definitions * ******************************************************************************/ #define READ_BIT(variable, bitNumber) (((variable)>>(bitNumber)) & 1) /****************************************************************************** * Static Function Declarations * ******************************************************************************/ typedef unsigned int UINT32; /****************************************************************************** * Main * ******************************************************************************/ int main(int argc, char *argv[]){ FILE *outFileHandle; FILE *binFileHandle; size_t bytesRead; char errorMessage[200]; int status; long binFileSize, i; char outFileName[300]; char binFileName[300]; char directory[300]; unsigned char *buffer; int length, dirLength; int byteNum; int bitNum; int offset; memset(binFileName, 0, 300); memset(outFileName, 0, 300); strcpy(binFileName,argv[1]); printf("%s\n", binFileName); /* create text file name (*.txt) */ length=strlen(binFileName)-4; strncpy(outFileName, binFileName, length); strcat(outFileName,".txt"); printf("%s\n", outFileName); outFileHandle = fopen (outFileName, "w"); binFileHandle = fopen (binFileName, "rb"); status=GetFileSize(binFileName, &binFileSize); printf("%d\n",binFileSize); buffer = calloc (binFileSize, sizeof(char)); status=fread(buffer, sizeof(char), binFileSize, binFileHandle); if((status!=binFileSize)||(status==0)){ printf("error - press any key."); getchar(); free(buffer); return(-1); } for(byteNum=0; byteNum<6; ++byteNum){ for(bitNum=0; bitNum<8; ++bitNum){ for(offset=0; offset