void main(void) { FILE *fpr,*fpw; char c; int i=0; system("cls"); fpr=fopen("d:\\junks\\test1.txt","rb"); fpw=fopen("d:\\junks\\test2.txt","wb"); for(;;) { c=fgetc(fpr); if(!feof(fpr)) { switch(c) { case 0x0:{c=0x0;fputc(c,fpw);break;}
还有255个case,我就不给出来了。
}
} else break;
} printf("done. %d",i); getch(); fcloseall(); return; }
----------------解决方案--------------------------------------------------------
没给完,但核心给出来了
----------------解决方案--------------------------------------------------------
i是default里面的,了解了撒
----------------解决方案--------------------------------------------------------
fpr=fopen("d:\\junks\\test1.txt","r"); fpw=fopen("d:\\junks\\test2.txt","w");
再试试
----------------解决方案--------------------------------------------------------
谢谢,该试的我都试了,没法了才上来求人
----------------解决方案--------------------------------------------------------
再考虑一个问题 换行符
说清你认为的出错是怎么一回事
----------------解决方案--------------------------------------------------------
另外还有一个逆程序,就是把转换了的字符在转换回来写如文件,其实问题出在这里
----------------解决方案--------------------------------------------------------
问题出在这里:用转换程序从a文件中依次读一个字符来转换,把结果写入b文件,逆程序从b文件中依次读一个字节,转换回去,写如c文件中,成功的话a和c是一样的撒,但是逆转换的时候就出现了字符在00000000到11111111之外的情况,我日。
----------------解决方案--------------------------------------------------------
贴上全部程式,明天再给你调试。
----------------解决方案--------------------------------------------------------
实在抱歉,这个程序我不能全部给出来,其实核心已经在这里了,问题也说明了,实在不行我就换语言来写了,但我还是希望能在这里搞定。
----------------解决方案--------------------------------------------------------