datei entschlüsseln
-
ahoi,
ich habe ein entschlüsselungsprogramm geschrieben, welches mit fread eine .txt datei ausliest, jedoch ist diese verschlüsselt, zum beispiel ist der buchstabe A dort als 091 dargestellt. ich wollte die ausgabe der datei jedoch entschlüsselt darstellen, so das der gesamte text entschlüsselt angezeigt wird.
do
{
if (auszulesende.datei == "091")
{cout<<"A";}
else
{}
}
while (fread(&sauszulesende,sizeof(auszulesende),1,dat) != 0);wirkt nicht, da hier nur der vergleich des ganzen textes geschieht. wollte deshalb nur die ausgabe z.B. A erscheinen lassen, wenn diese kombo irgendwo im text vorkommt
-
Wie hast du denn den Verschlüsselungsalgorithmus geschrieben? Das dortige Verfahren kannst du auch rückwärts einsetzen, um deinen Originaltext wiederzubeschaffen.
-
jede tastatureingabe wurde ein wert zugeschrieben (ebenfalls in meinem programm vórhanden) und man konnte in echtzeit einen text schreiben und dieser wurde dann codiert gespeichert und ausgegeben. diese gespeicherte datei gilt es zu entschlüsseln, denn wenn jemand mein programm ebenfalls benutzt, kann er mit mir darüber kommunizieren.
-
daher ist es nur möglich den text zu entschlüsseln und den algorythmus so umgekehrt einsetzen zu können, jedoch muss ich dazu segmente analysieren, so das das progamm ausschlägt wenn eine bestimmte kombo vorkommt, und genau dies war meine frage, wie ich solche segmente auslesen kann
-
Naja, du musst die Dati halt einlesen (in einen string würd ich sagen) und den dann durchlaufen und mit deinen Schlüsselwerten vergleichen. Also so wie du das schreiben IN die Datei machst eben auch das Lesen daraus.
EDIT: wenn du segmente brauchst ist wohl std::string.substr() das richtige (nachlesen auf www.cppreference.com) Ich hoffe einfach mal, dass es immer Zeichen sind, wenn nicht wirds etwas komplizierter.
-
Zwielicht schrieb:
und genau dies war meine frage, wie ich solche segmente auslesen kann
istream bietet ein ganzes Paket an Einlese-Funktionen, für dich interessant könnten read() und get() sein.
-
könntet ihr mir einen kurzen quelltext zeigen, da man daraus letztendlich schneller die funktionen erkennt.
cstoll, ist istream die bibliothek?
-
istream (genauer basic_istream<>) ist eine Klasse der Standardbibliothek - und "zufälligerweise" die Basisklasse für C++ Eingabestreams (unter anderem das legendäre cin). Beispiele, wei man es verwenden kann, dürfte es mehr als genug geben.
(wenn du dich intensiver mit Streams beschäftigen willst, empfehle ich dir meinen Magazin-Artikel "Ein- und Ausgabe in C++" - zu erreichen über den Link in meiner Signatur)
-
ahhhhhhh istream
+ ostream = iostream
stimmt jawerde mir deinen artikel durchlesen, danke
