将文件leakyCellFile_32GB_1024ms.txt中的十进制数转化为2进制数,存储在文件HashSourceFile_2中。由于c中没有直接输出2进制的函数,所以选择,首先将文件
leakyCellFile_32GB_1024ms.txt转化为16进制HashSourceFile16.txt,然后读取HashSourceFile16.txt中的16进制数,运用switch,将16进制转化为2进制,写入
HashSourceFile_2中。
leakyCellFile_32GB_1024ms.txt转化为16进制HashSourceFile16.txt,然后读取HashSourceFile16.txt中的16进制数,运用switch,将16进制转化为2进制,写入
HashSourceFile_2中。
/**
*Author:wyj
*Date:2014-03-03
*/
#include <stdio.h>
#include <stdlib.h>
void main(){
FILE *leakyCellInputFile,*testFile;
leakyCellInputFile = fopen("D://leakyCellFile_32GB_1024ms.txt","r");
testFile = fopen("D://HashSourceFile16.txt","w");
int leakyBank,leakyRow,leakyColumnMultiBandWidth;
char buffer[200];
while(fgets(buffer, 50, leakyCellInputFile)){
sscanf(buffer,"%d %d %d",&leakyBank,&leakyRow,&leakyColumnMultiBandWidth);
fprintf(testFile,"%x %x %x\n",leakyBank,leakyRow,leakyColumnMultiBandWidth);
}
fclose(leakyCellInputFile);
fclose(testFile);
leakyCellInputFile = fopen("D://HashSourceFile16.txt","r");
testFile = fopen("D://HashSourceFile_2.txt","w");
int i = 0;
while(fgets(buffer, 50, leakyCellInputFile)){
i = 0;
while(buffer[i]!='\0'){
switch (buffer[i]){
case '0':fprintf(testFile,"%s","0000");break;
case '1':fprintf(testFile,"%s","0001");break;
case '2':fprintf(testFile,"%s","0010");break;
case '3':fprintf(testFile,"%s","0011");break;
case '4':fprintf(testFile,"%s","0100");break;
case '5':fprintf(testFile,"%s","0101");break;
case '6':fprintf(testFile,"%s","0110");break;
case '7':fprintf(testFile,"%s","0111");break;
case '8':fprintf(testFile,"%s","1000");break;
case '9':fprintf(testFile,"%s","1001");break;
case 'a':fprintf(testFile,"%s","1010");break;
case 'b':fprintf(testFile,"%s","1011");break;
case 'c':fprintf(testFile,"%s","1100");break;
case 'd':fprintf(testFile,"%s","1101");break;
case 'e':fprintf(testFile,"%s","1110");break;
case 'f':fprintf(testFile,"%s","1111");break;
case '\n':fprintf(testFile,"%c",'\n');break;
default:fprintf(testFile,"%c",' ');break;
}
i++;
}
}
fclose(leakyCellInputFile);
fclose(testFile);
}