编一个程序,对名为"abc.txt"的磁盘文件中"@"之前的所有字符加密,加密方法是每个字节的内容减10。
参考答案:
解析:#include <stdio.h> #include<sldlib.h> main() { FILE *fp; char c; if((fp=fopen("abc.txt","r+"))==NULL)/*测试文什是否正确被打开*/ {printf("Can not open file!\n");exit(0);) while(!feof(fp)) if((c=fgetc(fp))!=’@’)/*如果不足@字符则进行加密运算*/ {c=c-10;/*加密运算*/ fseek(fp,-11,1);/*前移一个字符。因在执行fgetc(fp)时文什内部指针会自动后移一个字符。指向应被加密字符的下一个字符*/ fputc(c,fp);/*将获得加密后的字符填入该位置,且文件内部指针会自动后移一个字符*/ fseek(fp,01,1);)/*避免指针漂移,定位文件内部指针在当前位置不移动,并将其传递给函数feof(fp))*/ else break; fclose(fp); return 0; }