Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Newbie: String und Buchstabenvergleich

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.12.2005, 18:55 Uhr
ethone



Hi, ich bin noch ziemlich blutiger Anfänger in C++ und hab bei der Implementierung der Vigenere-Kryptografie folgendes Problem:

Ich habe sowohl den Key als auch den Klartext als String (als C++ String, nicht als C-String) eingelesen und muss diese ja nun "addieren". Dazu habe ich erstmal versucht, den Buchstaben an i-ter Stelle im Klartext in einer Enumeration


C++:
enum Alphabet {A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z};
  for(int i=0; i<textlength; i++)
  {
   Alphabet TextI=Text[i];


textlength liegt korrekt vor, der String "Text" auch.


Als das nicht funktionierte, wolölte ich den absoluten Low-Level Weg gehen und über Switch-Blöcke zu "übersetzen".
C++:
   switch(Text[i])            
   {
    case A:
     zuueber=1;
     break;

Das klappt leider auch nicht, gibt es eine Möglichkeit, die Buchstaben aus dem String zu holen, so dass ich sie entweder in die enum oder in die Switch-Case Blöcke kriege?

Danke,
Dennis
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.12.2005, 19:09 Uhr
predator



Du willst also das Zeichen an einer bestimmten Stelle eines std::string?
Das geht so:

C++:
Text.at(i)



Btw, was soll das enum bringen? Und was meinst du mit Low-Level-Weg?
--
Gruß
predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.12.2005, 19:34 Uhr
ethone



Danke schonmal für den Zugriff auf das Zeichen.

Über das enum will ich die Ersetzung des Klartext-Buchstaben vereinfachen. Letztlich addiere ich beispielsweise d+x (die Buchstaben) und kriege über die Stellen im Alphabet (d=4, x=24, das ganze modulo 26) den "codierten" Buchstaben. Hatte gedacht, da eignet sich eine enum doch perfekt für.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: