C++ / Einlesen von File ist ein anderer Text als in der File selbst

@Topinambur: Nach dem encrypt kopiere ich (manuell) den Text von dort in das alte Text File (text.txt) und starte das Programm neu, nur mit dem Unterschied - dass ich jetzt decrypt verwende.

@dvor: Versuch ich gleich - ja mit Windows Editor - einfach Speichern ohne Speichern unter.

MFG Andreas
 
Topinambur hat schon recht mit seiner ersten Annahme (dass du NUR aus der test.txt liest):

Ist zwar jetzt eher Bad Smell, aber probiere das mal bei dir aus:

C++:
    if (mode == 2) {
        insert = "";
        read_text("encrypt.txt", insert);
        decrypt(insert, key, mode, output);
    }

test.txt
Dateinhalt: A
ASCII-Wert Dezimal: 65

Key:
0
ASCII-Wert Dezimal: 48

encrypt.txt
Dateinhalt: q
ASCII-Wert Dezimal: 113

Passt also...48 + 65 =113

decrypted.txt funktioniert auch. Steht das A drin.
 
Windows, Eingabeaufforderung ... ich glaube nicht, dass es dafür einen separaten Kurs an der FH gibt

1642878005746.png
 
  • Gefällt mir
Reaktionen: maloz
Andi1610 schrieb:
Nach dem encrypt kopiere ich (manuell) den Text von dort in das alte Text File (text.txt) und starte das Programm neu, nur mit dem Unterschied - dass ich jetzt decrypt verwende.

Nun ja, warum das denn eigentlich? Mal davon abgesehen, dass du immer deine text.txt liest (also auch wenn du entschlüsseln willst). Nun ja.

Nur mal als Beispiel dieser Funktionsblock:
C++:
    string decrypt(string & insert, string & key, int& mode, string& output) {
        if (mode == 2) {
            int k = 0;
            for (int i = 0;i < insert.size(); ++i) {

                if (k == key.size()) {
                    k = 0;
                }
                output += insert[i] - key[k];
                k = ++k;
            }
            return output;
        }
    }
Ist es denn nicht so, dass der Rückgabetyp string unnötig (also eher void anstatt string benutzen) ist? Du übergibt ja schon output über einen Adressoperator (string& output) in deiner Funktion.


Copy/Paste unter Windows in Sachen Zeichensätzen und Speichern unter einem Editor (wie Notepad) ist so eine Sache. Aber gut. Generell wenn es in den Extended Ascii Bereich geht.

Zeichen d + Zeichen t = 100+ 116 = Zeichen 216 -> Ž
https://www.ascii-code.com/
https://community.notepad-plus-plus.org/topic/21743/extended-ascii-alt-xxx-char-display-issue/3
 
Zuletzt bearbeitet:
@xoncial: Das wars.. jetzt läufts ohne Probleme und ich bekomm meinen Klartext wieder raus. Vielen, vielen Dank für den Tipp!

@dvor: Mittlerweile weis ich was du gemeint hast, ja es war immer das UTF-8 Format (so hab ich die Text Datei erstellt).

So ich werde jetzt noch die Lösungsideen fertig schreiben, den Code aus kommentieren und dann hochladen - Deadline ist 23:55.

@Topinambur: Am ersten Tag haben wir ein paar Befehle gemacht für die Windows Eingabeaufforderung - dann aber nicht mehr. Da wir auch Ubuntu lernen müssen - hab ich da gerade mehr Befehle im Kopf als in Windows.

Danke an alle für die Tipps - auf das mit dem Coding hätte ich zB. nie gedacht!

Und bitte verzeiht die etwas lange Leitung.. bin jetzt 32 (und mit Abstand der älteste Student in dem Lehrgang) und komme aus einer ganz anderen Richtung (Spedition..Logistik) und komm da leider etwas schwerer mit, als Kollegen, die zB. von einer HTL kommen etc.

Danke und euch allen noch einen schönen Abend!

LG Andreas
Ergänzung ()

Xonical schrieb:
Nun ja, warum das denn eigentlich? Mal davon abgesehen, dass du immer deine text.txt liest (also auch wenn du entschlüsseln willst). Nun ja.

Das ist so bzw. so ähnlich in der Beschreibung gefordert (zumindest hab ich es so verstanden) - daher.
 
  • Gefällt mir
Reaktionen: Xonical
Andi1610 schrieb:
Und bitte verzeiht die etwas lange Leitung.. bin jetzt 32 (und mit Abstand der älteste Student in dem Lehrgang) und komme aus einer ganz anderen Richtung (Spedition..Logistik) und komm da leider etwas schwerer mit, als Kollegen, die zB. von einer HTL kommen etc.

Ha, kein Problem. Prima, dass das noch geklappt hat. Ist doch immer ein gutes Gefühl, wenn man/wir helfen konnte(n).

Ach, das Alter. Ich würde auch noch mal in meinem Leben etwas in Richtung Informatik studieren, Ich bin Jahrgang 1976 und mache eine Weiterbildung zum Staatlich geprüften Techniker Fachrichtung Datentechnik. Und ich bin doch sehr fachfremd und tue mich da arg schwer (Ausbildung als Fachinformatiker Fachrichtung Anwendungsentwicklung). Also ich kann mit dir fühlen wie das so ist, wenn man Aufgaben vor sich hat bei denen man denkt....und der Älteste ist (bin älter als einige Lehrer und der Abstand zum zweitältesten Schüler in der Klasse sind 13 Jahre).

Aber dann drücke ich dir mal die Daumen, damit das was wird. Durchbeißen (muss ich ja auch, es bleibt mir ja keine andere Wahl :-))!
 
Zuletzt bearbeitet:
Ich wünsch dir auch alles Gute Xonical für deine Ausbildung zum Staatlich geprüften Techniker!

@Topinambur: Danke!

Genau - dran bleiben und durchbeißen :).
 

Ähnliche Themen

Zurück
Oben