Hat dir diese Antwort geholfen?
Nunja, eigentlich hast Du ja schon die Grundlagen zusammen. Nun musst Du nur beim Auslesen die ganze Datei einer Variable zuweisen (also den Inhalt), damit kannst Du dann Spaß machen und dann schreibst Du alles wieder in die Datei. Ungefähr so:
# include <iostream.h>
# include <stdio.h>
int main()
{
char* inhalt = new char(255);
int zeichen = 0;
FILE *fp;
fp=fopen ("eingabe.txt","r");
if (fp == NULL)
{
cout << "Fehler beim Auslesen" << endl;
exit(-1);
}
char c;
do
{
c=fgetc (fp);
cout << c;
if(c!=EOF) inhalt[zeichen] = c;
zeichen++;
}
while (c!=EOF);
zeichen -= 1;
cout << endl << endl;
fclose (fp);
//hier nun inhalt verschluesseln
int i;
for(i=0; i<zeichen; i++)
inhalt[i] += 1;
//und in eine Datei schubsen
fp = fopen ("encoded.txt" , "w");
fwrite (inhalt , 1 , zeichen , fp);
fclose (fp);
//wieder entschluesseln
for(i=0; i<zeichen; i++)
inhalt[i] -= 1;
//und wieder in eine Datei schubsen
fp = fopen ("decoded.txt" , "w");
fwrite (inhalt , 1 , zeichen , fp);
fclose (fp);
delete inhalt;
getchar();
return 0;
}
Das ist eine ganz simple (und sehr schlechte) Verschlüsselung. Die Buchstaben werden ausgelesen, der ASCII-Wert eins hochgesetzt und dann das Ganze in die encoded.txt gespeichert. Danach werden die Werte wieder eins erniedrigt und in decoded.txt gespeichert.
Es sind also die Grundlagen für Kodieren und Dekodieren drinne.
Gruß Spawn
EDIT: Momentan ist das ganze auf 255 Zeichen beschränkt, kannste aber in Zeile 6 ändern oder verbessern, in dem Du es flexibel machst.