作者:今天朕不爽
adsl系统里面的配置文件(即cfg文件)是经过编码的,我们需要将该文件进行解码,才可以进行编辑。
编解码的方法也是比较简单的。下面直接贴出源码。
int cfg_codec(char input[],char output[],enum Option op)
{
FILE *fp_input,*fp_output;
char t,t1;
fp_input=fopen(input,"rb");
if(fp_input==NULL)
{
printf("Error in Opening %s\n!",input);
return -1;
}
fp_output=fopen(output,"wb");
if(fp_output==NULL)
{
printf("Error in Opening %s\n!",output);
return -1;
}
while(!feof(fp_input))
{
if(fread(&t,1,1,fp_input) == 1)
{
if(op == DECODE)
{
t1=(t%2==0)?(t/2):((t+127)/2);
}
else if(op == ENCODE)
{
t1=(t*2<127)?t*2:(t*2-127);
}
fwrite(&t1,1,1,fp_output);
}
}
fclose(fp_input);
fclose(fp_output);
return 0;
}