先贴程序
#define _CRT_SECURE_NO_WARNINGS
#include
using namespace std;
int main(void)
{
char ch;
FILE *f;
int i = 0;
int count = 0;
f = fopen("test.txt", "r+");
while ((ch = getc(f)) != EOF)
{
fseek(f, i, SEEK_SET);
putc(~ch, f);
i++;
fseek(f, i, SEEK_SET);
count++;
}
fclose(f);
printf("文件操作已经完成\n");
printf("共处理%d个字节\n", count);
printf("按任意键结束程序\n");
getchar();
return 0;
}
该程序实现的就是对文件内的字符进行取反,就是简单的加密,再取反一次就变回原样了,也就是解密
在对汉字进行操作的时候,我进行了一些字的实验,目前仅发现了一个王字,在取反后取反回去不能变成王字,我加了查看字符格式的代码,发现 王 这个字在进行第一次字符操作时候,被分解为三个字节!!!然后再操作,就变成了四个!进行一次加一次,但是其他的汉字目前没发现错误,不知道是怎么回事,难道王字的编码就是三个字节吗?
求大家解答一下,我是新人没有一个c币。。。如果以后我得到了,就追加给你,谢谢啦