Ascii-Code Zeilenumbruch

lindin

Erfahrenes Mitglied
Hallo, ich habe folgendes Problem:
Mit dieser Funktion kodiere ich Text, bevor ich ihn in eine Textdatei einfüge und dekodiere ihn, wenn ich ihn wieder auslese:

Code:
char crypt(char ch,char key) //verschlüsseln
{
	//if(ch=='\n') {return ch;}
       //else {
		  return ch+key;
//	}
}
Das Dekodieren funktioniert aber immer nur für den ersten Text, der in die Datei geschrieben wurde, und dannn auch nicht mit den Zeilenumbrüchen (\n), das habe ich schon vresucht mit der If-Abfrage abzuwenden, aber geht nicht!

Kann mir jemand sagen, ob beim Anhängen an eine Datei irgendwas eingefügt wird?
 
Ascii-Code

Irgendwas muß doch noch falsch sein, denn wenn ich die Funktion anwende und als Key 0 wähle, dann dürfet doch nicht s kodiert werden´(?), aber es wird doch kodiert, zwar nicht bei dem ersten Text, aber bei den folgenden!
 
Y mit Akzent

Es wird in die Dtei irgendwie ý und Ý geschrieben... das habe ich bisher rasugefunden, aber wieso, keine Ahnung!
 
Original geschrieben von lindin
Hallo, ich habe folgendes Problem:
Mit dieser Funktion kodiere ich Text, bevor ich ihn in eine Textdatei einfüge und dekodiere ihn, wenn ich ihn wieder auslese:

Code:
char crypt(char ch,char key) //verschlüsseln
{
	//if(ch=='\n') {return ch;}
       //else {
		  return ch+key;
//	}
}

Das Dekodieren funktioniert aber immer nur für den ersten Text, der in die Datei geschrieben wurde, und dannn auch nicht mit den Zeilenumbrüchen (\n), das habe ich schon vresucht mit der If-Abfrage abzuwenden, aber geht nicht!

Kann mir jemand sagen, ob beim Anhängen an eine Datei irgendwas eingefügt wird?
Wenn du nicht binär in die Datei schreibst, wird '\n' (1 Byte) umgewandelt in '\r' '\n' (2 Byte) .
 
Wenn ich aber mit fopen im Modus "ab" die Datei öffne und mit fprintf schreibe, dann wird falsche geschrieben.
Wenn ich aus der Datei lese, dann im Modus "rb"!
 

Neue Beiträge

Zurück