📄 txt2lib.cpp
字号:
#include "stdio.h"
#include "string.h"
#include "conio.h"
#include "io.h"
#define MAX_FILENAME_LEN 100
char txt2lib(void);
char src_filename[][MAX_FILENAME_LEN]=
{
// "buick\\上海通用故障码.txt",
// "海马全部故障码.txt",
"vw.txt",
// "HD_ENG.TXT","HD_AT.TXT","HD_ABS.TXT","HD_SRS.TXT","HD16_ENG.TXT","HD16_AT.TXT","HD16_ABS.TXT","HD16_SRS.TXT",
};
//char dst_filename[] = "HONDA.LIB";
//char dst_filename[] = "HNMAZDA.LIB";
char dst_filename[] = "VW.LIB";
// char dst_filename[] = "sh_gm.LIB";
char txt2lib()
{
FILE *fp1,*fp2;
unsigned char xor;
unsigned char byte;
char ptr[100];
unsigned short i,file_num;
unsigned long offset,filesize;
unsigned char xor_offset;
file_num = sizeof(src_filename)/MAX_FILENAME_LEN;
fp2=fopen(dst_filename,"wb");
fseek(fp2,0,SEEK_SET); /*write the pointer of the content*/
if(file_num>0)
//if(file_num>1)
{
fwrite(ptr,1,(file_num+1)*4,fp2); //leave space for position index
}
for(i=0;i<file_num;i++)
{
//if(file_num>1)
if(file_num>0)
{
offset = ftell(fp2);
fseek(fp2,i*4,SEEK_SET);
fwrite(&offset,1,4,fp2); //leave space for position index
fseek(fp2,offset,SEEK_SET);
}
fp1=fopen(src_filename[i],"rb");
if(fp1==NULL)
{
printf("Can't find file: %s",src_filename[i]);
getch();
return 0;
}
fseek(fp1,0,SEEK_END);
filesize = ftell(fp1);
xor_offset = (unsigned char)(offset + filesize);
fseek(fp1,0,SEEK_SET); /*write the pointer of the content*/
while(1)
{
fread(&byte,1,1,fp1);
if(feof(fp1))
break;
xor = (unsigned char)offset;
xor += xor_offset;
xor = ( (xor<<4) | (xor&0x0f) );
xor += 'Y';
byte ^= xor;
fwrite(&byte,1,1,fp2);
offset++;
}
fclose(fp1);
}
if(file_num>0)
{
offset = ftell(fp2);
fseek(fp2,i*4,SEEK_SET);
fwrite(&offset,1,4,fp2);
fseek(fp2,offset,SEEK_SET);
}
fclose(fp2);
printf("File has been processed successful,press any key to return");
getch();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -