chiffrierungsfrage
-
Ups...Sorry...das war mein rumprobier-code
hier der eigentliche:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { int codeletter,keynumber,decodeletter; char keystring[20],decodestring[50],tokcode[10],tokkey[5],*ptrkey; FILE *codefile, *keyfile, *decodefile; // Datei code.txt zum Lesen öffnen codefile = fopen("code.txt", "r"); // Datei key.txt zum Lesen öffnen keyfile = fopen("key.txt", "r"); // Anlegen der Datei decode.txt zum Schreiben (falls vorhanden: überschreiben) decodefile = fopen("decode.txt", "w+"); //Fehlerüberprüfung if(codefile==NULL) { printf("Fehler beim Lesen der Datei 'code.txt'\n"); printf("Überprüfen Sie ggf. die Leserechte oder die Existenz der Datei!\n"); return(EXIT_FAILURE); } if(keyfile==NULL) { printf("Fehler beim Lesen der Datei 'key.txt'\n"); printf("Überprüfen Sie ggf. die Leserechte oder die Existenz der Datei!\n"); return(EXIT_FAILURE); } if(decodefile==NULL) { printf("Fehler beim Schreiben der Datei 'decode.txt'\n"); printf("Existiert die Datei vllt. schon schreibgeschützt?\n"); return(EXIT_FAILURE); } while( (codeletter=fgetc(codefile)) != EOF) { if(codeletter == 10 || codeletter == 32) //ASCII Für Leerzeichen/Zeilenumbruch { decodeletter=codeletter; } else { decodeletter=codeletter-keynumber; } if(decodeletter<97 && decodeletter!=10 && decodeletter!=32) { decodeletter+=26; } fprintf(decodefile,"%d",keynumber); fputc(decodeletter,decodefile); } while(fgets(keystring,50,keyfile)) { printf("Originalkeyzeile: %s",keystring); ptrkey= strtok(keystring, " "); while(ptrkey != NULL) { keynumber=atoi(ptrkey); printf("key: %d\n",keynumber); ptrkey = strtok(NULL, " "); } } fclose(codefile); fclose(keyfile); fclose(decodefile); return EXIT_SUCCESS; }