你可能犯了一个错误啊!!rb和wb都是以二进制形式读取的!!而fgetc是安文本方式啊!!应该会有无法预料的出现的。至于读写你应该使用fread和fwrite来做才正确的。不信你改改看能不能成功!!使用函数的时候要注意他们的规范!!还有最后机的使用fclose()啊!!!
就是前提条件要不然会发生无法预料的事,不信可看看这个问题:http://bbs.bc-cn.net/bbs/dispbbs.asp?boardID=44&ID=6490&page=1我在最后的总结!!
amoeba,你的这个程序是ok的,但把你那个程序的core套在我的程序上用,问题就来了,你的是判断c是0还是255,然后进行操作对吧,我的当然本质上差不多,我是判断c是0到255着256种情况的哪个,再加以转换,这里是没错的,但到了逆程序(比如在这里c为55时我就把它换成48,逆程序里有48就换成55,没错吧)问题就来了,出现了00000000到11111111之外的情况!
FILE *fpr,*fpw; char c;
system("cls"); fpr=fopen("d:\\junks\\test1.txt","r"); fpw=fopen("d:\\junks\\test2.txt","w"); printf("start"); for(;;) { c=fgetc(fpr); if(!feof(fpr)) { switch(c) { case 0:{c=0;fputc(c,fpw);break;} ........
}
我日