ファイルを 1 行ずつ調べて (各行は 50 文字以下)、各文字を 10 または -10 ずつシフトして (暗号化および復号化するため)、シフトされた文字列を古い文字列があった場所に出力しようとしています。しかし、私は本当に面白い出力を得ています。
コードは次のとおりです。
#include <stdio.h>
int main(void){
FILE *fp;
fp=fopen("tester.csv","r+");
Encrypt(fp); // I call decrypt here when I test it.
fclose(fp);
}
int Encrypt(FILE *fp){
int offset=10;
Shift(fp, offset);
}
int Decrypt(FILE *fp){
int offset= -10;
Shift(fp, offset);
}
int Shift(FILE *fp, int offset){
char line[50],tmp[50], character;
long position;
int i;
position = ftell(fp);
while(fgets(line,50,fp) != NULL){
for(i=0;i<50;i++){
character = line[i];
character = (character+offset)%256;
tmp[i] = character;
}
fseek(fp,position,SEEK_SET);
fputs(tmp, fp);
position = ftell(fp);
}
}
したがって、tester.csv が最初に読み取る場合
this, is, a, test
プログラムを実行すると生成されます
~rs}6*s}6*k6*~o}~
êñv[ ‰
this, is, a, test