该工具可用于实现将txt文件中的十六进制数转换成固定32位二进制数(不足32位高位补零),运行结果如下:
代码如下:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int data;
char buffer[200];
FILE *inputFile,*outFile;
inputFile = fopen("random.txt","r");
outFile = fopen("out.txt","w");
while(fgets(buffer, 50, inputFile))
{
sscanf(buffer,"%x",&data);
fprintf(outFile,"%08x\n",data);
}
fclose(inputFile);
fclose(outFile);
inputFile = fopen("out.txt","r");
outFile = fopen("bin.txt","w");
int i = 0;
while(fgets(buffer, 50, inputFile))
{
i = 0;
while(buffer[i]!='\0')
{
switch (buffer[i])
{
case '0':fprintf(outFile,"%s","0000");break;
case '1':fprintf(outFile,"%s","0001");break;
case '2':fprintf(outFile,"%s","0010");break;
case '3':fprintf(outFile,"%s","0011");break;
case '4':fprintf(outFile,"%s","0100");break;
case '5':fprintf(outFile,"%s","0101");break;
case '6':fprintf(outFile,"%s","0110");break;
case '7':fprintf(outFile,"%s","0111");break;
case '8':fprintf(outFile,"%s","1000");break;
case '9':fprintf(outFile,"%s","1001");break;
case 'a':fprintf(outFile,"%s","1010");break;
case 'b':fprintf(outFile,"%s","1011");break;
case 'c':fprintf(outFile,"%s","1100");break;
case 'd':fprintf(outFile,"%s","1101");break;
case 'e':fprintf(outFile,"%s","1110");break;
case 'f':fprintf(outFile,"%s","1111");break;
case '\n':fprintf(outFile,"%c",'\n');break;
default:fprintf(outFile,"%c",' ');break;
}
i++;
}
}
fclose(inputFile);
fclose(outFile);
}