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;	
    }
    

Anmelden zum Antworten