Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » switch mit string identifier ???

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
04.10.2005, 00:20 Uhr
~mat
Gast


Hallo,
ich möchte folgendes realisieren.
ich gehe ein file zeilenweise durch.....in den Zeilen steht zum Beispiel:

*test1
a
b
*test2
c
d
e
*test3
f
.
.
.
ich möchte auf die test1/test2/test3 matchen können.
Also so:
*laufe von oben nach unten
*siehst du test1 bearbeite alle nachfolgenden zeilen ...
*siehst du aber test2 bearbeite alle nachfolgenden zeilen anders ...
*siehst du test3 dann wieder anders und so weiter...
kann ich das irgendwie mit switch machen anstatt immer zu fragen if -> else if -> else if ....

wie wird das denn normalerweise geamcht ?
Mit enum ? und dann jeder Überschrift ein integer zuordnen odre so ?

Mir Helfen würde wenn mir jemand ein einfaches vergleichbares Beispiel gibt in CODE.

Ich danke euch!!!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.10.2005, 00:37 Uhr
imhotep
followed the white rabbit


du könntest eine Funktion schreiben, die den String erkennt und einen int-wert zurückgibt.


C++:
#define MATCH1  1
#define MATCH2  2
#define MATCH3  3
#define NOMATCH 0

/* ... */

int str_test(string in){
  if (strncmp(in.c_str(), "test1", 5) == 0) return MATCH1;
  if (strncmp(in.c_str(), "test2", 5) == 0) return MATCH2;
  if (strncmp(in.c_str(), "test3", 5) == 0) return MATCH3;
  return NOMATCH;

/* ... */

switch (str_test(my_string)) {
  case (MATCH1)
    { ....... }
    break;
  case (MATCH2)
    { ....... }
    break;
  case (MATCH3)
    { ....... }
    break;
  default
    { ....... }
  }
}


Dieser Post wurde am 04.10.2005 um 00:49 Uhr von imhotep editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: