Einzelnen Beitrag anzeigen
Alt 27.07.05, 11:19   #16 (permalink)
MuskelBiber
 
Registriert seit: 27.07.05
Karma: 10
MuskelBiber Leistung: Facit NTK
Standard

hi,
Ich hab jetzt auch mal das Programm geschrieben (ich weiß is schon ne weile her das die aufgabe gestellt wurde ,ich bin aber erst vor kurzem drauf gestoßen).
Geschrieben is es komplett in C kann aber zZt. nur Caesar'isch verschlüsseln, (die Vigenere'ische hab ich auch noch vor zu implementieren)

Bis jetzt hab ich das Prog. nur auf linux getestet ,müsste aber ohne weiteres auch auf Win laufen!
Code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char* argv[])
{
	//Variablen
	FILE* file;
	int i=0;
	int key =0;
	long file_lenght;

	//Testen ob genug Argumente übergeben wurden
	if(argc != 4)
	{
		printf("usage: %s input_file output_file key\n",argv[0]);
		return 1;
	}

	key =atoi(argv[3]);

	//Datei öffnen
	file =fopen(argv[1],"r");
	if(NULL ==file)
	{
		printf("Fehler: Konnte Datei nicht öffnen.\n");
		return 1;
	}

	//Länge der Datei rausfinden
	fseek(file,0,SEEK_END);//filepointer an das ende der Datei setzen
	file_lenght =ftell(file);//die position des fp bekommen (=Länge der datei)
	rewind(file);//fp wieder an den Anfang setzen

	char file_input[file_lenght];//char-feld mit der größe der Datei erzeugen

	//Datei lesen
	fread(file_input,sizeof(file_input),1,file);	
	fclose(file);//Datei schließen

	//Datei (zum schreiben) öffnen
	file =fopen(argv[2],"w");
	if(NULL ==file)
	{
		printf("Fehler: Datei konnte nicht geöffnet werden.\n");
		return 1;
	}

	//Text verschlüsseln und ausgeben
	for(i;i<file_lenght;i++)
	{
		fprintf(file,"%c",file_input[i]+key);
	}

	fclose(file);//datei schließen

	return 0;
}
Was haltet ihr davon?
Wenn ihr Fehler o.ä. findet bitte posten!

cya, MuskelBiber
MuskelBiber ist offline   Mit Zitat antworten