int aus Datei lesen
-
Hallo,
Ich schreibe mir ein kleines (laienhaftes) Programm zur verschlüsselung von Textdateien. Es soll funktionieren, indem es chars ausliest, sie in ints umwandelt, bitweise verschiebt oder so etwas, und anschließend in eine zweite Datei schreibt. Das geht. Allerdings muss ich beim entschlüsseln ints aus einer Datei lesen, was sich als Problem herausgestellt hat, da get() nur chars herauslesen kann...
Meine Idee ist es, 4, bzw. 2 chars aus der Datei auszulesen, sie in einen string zu schreiben, und anschließend per stringstream in eine int zu schreiben.
Nur: geht das nicht auch einfacher? (Falls meine Idee überhaupt funzt...)
Sprich: gibt es eine Funktion die aus einem ifstream ints herauslesen kann?
-
z.b. die read member-funktion kann dazu missbraucht werden
-
Was spricht gegen:
f_in >> myint;
MfG SideWinder
-
Oh, danke...
Ups^^
Ja, ich bin noch n ziemlicher Anfänger... ^^
Danke für die schnellen Antworten und frohe Weihnachten!
-
Schreib die Chars doch nach dem "verschlüsseln" einfach wieder als chars in die Datei zurück. Bloss halt mit nem anderen Wert.
Und dann lies sie wieder als chars ein.
Zum Ver- und Entschlüsseln solltest du die Dateien (Quelle und Ziel) sowieso im Binärmodus aufmachen, da ist es dann auch egal wenn z.B. die Verschlüsselte Quelldatei mehrere 0-Bytes enthält...
-
@hustbaer: Kannst du mir mehr davon erzählen?
Ich hatte eh vor, sobald ich mich in meinem Buch dazu durchgearbeitet hab (*Anfänger*) die Sachen im Binärmodus aufzumachen.
Ich kann keine chars zurückschreiben (mit meiner derzeitigen Idee), weil ich eine bitweise verschiebung in meiner "Verschlüsselung" einbringe, d.h. wenn ich nicht will, dass Information verloren geht, benötige ich mehr als 8bit...
Ich werd die Idee wahrscheinlich eh bald verwerfen...
Und noch eine Frage: Wie erkennt der Texteditor, ob eine Bitfolge nun Int ist, oder Char, etc. Sprich: Wie werden die Variablen, die ich (im nicht-binär-Modus) in eine Datei schreibe, gespeichert? Es muss irgendwas zur Trennung geben... (0-Bytes vielleicht? Wo/In welchen Situationen finde ich 0-Bytes?)
Ich würd gern ALLES wissen