#include <stdio.h>
#include <string.h>
#include <cstdlib>
const int KEY=118;
int main()
{
FILE* hOFile = fopen("file1","w");
FILE* hIFile;
char sign;
for(int i=254; i>=0; i--)
fprintf(hOFile,"%c",i);
fclose(hOFile);
hIFile = fopen("file1","r");
hOFile = fopen("file2","w");
for(int i=254; i>=0; i--)
{
fscanf(hIFile,"%c",&sign);
fprintf(hOFile,"%c",(sign^KEY));
}
fclose(hIFile);
fclose(hOFile);
hIFile=fopen("file2","r");
hOFile=fopen("file3","w");
for(int i=254; i>=0; i--)
{
fscanf(hIFile,"%c",&sign);
fprintf(hOFile,"%c",(sign^KEY));
}
fclose(hIFile);
fclose(hOFile);
}
file3はfile1と同じであるという意味です。残念ながら、file3はASCII KEY-9文字の後にクラッシュします。具体的には、この例では次のようになります。
ファイル1:
ţツィュリオシャル÷ÖőÓóóμîíěéquthçäâáŕßţ託úű×Öő×ÖőÓÓñomyéquth名ĺ鑑いる„、€〜} | {zyxwvutsrqponmlkjihgfedcba` _ ^] [ZYXWVUTSRQPONMLKJIHGFEDCBA @?> = <;: 9876543210 / .-、+ *)('&%$# "!
File3:
ţツィュリオシャル÷ÖőÓóóμîíěéquthçäâáŕßţ託úű×Öő×ÖőÓÓñomyéquth名ĺ鑑いる„、€〜} | {zyxwvutsrqponmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm