Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int Encoder(char fname1[], char fname2[], char key[]){
- FILE *fp; FILE *fk;
- if(fname1 == NULL || fname2 == NULL || key == 0) return -2;
- int skey = 0, k = 0;
- char val = 0;
- while(key[skey] != 13) skey++;
- if ((fp = fopen(fname1, "r")) == NULL)
- {
- getchar();
- return -1;
- }
- if ((fk = fopen(fname2, "w")) == NULL)
- {
- getchar();
- return -1;
- }
- while(fscanf(fp, "%c", &val) != EOF){
- fprintf(fk, "%c", val^key[k]);
- if(k == skey - 1) k = 0;
- else k++;
- }
- fclose(fp);
- fclose(fk);
- return 0;
- }
- int LegitCheck(char fname1[], char fname2[])
- {
- FILE *fp; FILE *fk;
- if ((fp = fopen(fname1, "r")) == NULL)
- {
- getchar();
- return -1;
- }
- if ((fk = fopen(fname2, "r")) == NULL)
- {
- getchar();
- return -1;
- }
- char val1 = 0, val2 = 0;
- while(fscanf(fp, "%c", &val1) != EOF && fscanf(fk, "%c", &val2) != EOF){
- if(val1 != val2) return 0;
- }
- if(fscanf(fp, "%c", &val1) != EOF || fscanf(fk, "%c", &val2) != EOF) return 0;
- return 1;
- }
- int main(){
- int m1 = Encoder("file1.txt", "file2.txt", "");
- if(m1 == -1){
- printf("Unable to execute.\n");
- return 0;
- }
- if(m1 == -2){
- printf("Input error.\n");
- return 0;
- }
- int m2 = Encoder("file2.txt", "file3.txt", "");
- if(m2 == -1){
- printf("Unable to execute.\n");
- return 0;
- }
- if(m2 == -2){
- printf("Input error.\n");
- return 0;
- }
- printf("%d\n", LegitCheck("file1.txt", "file3.txt"));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement