Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » einen Cstring zerlegen

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 < [ 2 ]
000
19.12.2002, 11:37 Uhr
~rasty
Gast


Hi!
Ich habe einen CString, indem z.B. mehrere Namen stehn, die mit Strichpunkt getrennt sind.
Wie kann ich die Namen einzeln auslesen?


Danke für die Antworten!

MfG rasty
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.12.2002, 13:08 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
folgender Befehl sollte helfen: CString::Find. Könnte so ausschauen:

C++:
int n = str.Find(';', n);


Wobei du n immer um 1 inkrementieren musst, da sonst immer an der selben Stelle gesucht wird. Find gibt auch -1 zurück, wenn er nichts mehr findet. Würde sich vielleicht eine while Schleife anbieten

mfg mike ;D
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.12.2002, 11:22 Uhr
Drunner



Viel besser ist da die strtok funktion:


C++:
//dein CString
CString str = ...

char* string = str.GetBuffer(str.GetLength());
char* token;

token = strtok(string, ';');

while(token != NULL)
{
    printf( "%s\n", token );
    token = strtok(NULL, ';');
}

delete string;
delete token;



edit by Flosoft: Codetags eingefügt

Dieser Post wurde am 23.12.2002 um 11:52 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.11.2004, 14:39 Uhr
~Heike
Gast


Find durchsucht den String ja von vorn nach hinten. Gibt es auch eine Funktion die von hinten nach vorne sucht. Oder was hab ich sonst für Möglichkeiten ein bestimmtes Zeichen was mehrmal im String vorkommt zu suchen. Und zwar suche ich das erste von hinten.

Gruß
Heike
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.11.2004, 14:41 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


bzw die nicht dokumentierte AfxExtractSubString-Funktion, die nimmt gleich CStrings
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.11.2004, 14:46 Uhr
~Heike
Gast


Kannst du mal näher beschreiben wie das geht. In der MSDN finde ich sie nicht.

Gruß Heike
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.11.2004, 14:48 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wie wärs mit ReverseFind...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
04.11.2004, 14:54 Uhr
~Heike
Gast


Danke. Mein Retter
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
04.11.2004, 17:20 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Danke. Mein Retter


Ich rette doch immer gerne holde Jungfrauen vor dem MSDN-Drachen insbesodere wenn sie Heike heissen und Fragen stellen wo ich mir den Kopf nicht zerbrechen muss
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
16.02.2007, 12:41 Uhr
henie



Zu diesem Thema habe ich auch eine Frage. Ich möchte auch einen string bei dem begrenzer 0 zerlegen. Beispielsweise den Namen "Bird010": Jetzt möchte ich aber nicht den vorderen Teil des Strings, also "Bird" haben, sonder den hintern, die 10. Wie mache ich das?

Mein Code:


C++:
    char filename[80]={"Bird010"};
    string filename_zerlegt;
        
    char* aToken = strtok (filename, "0") ;    //filename2 bei dem Begrenzer "0" zerlegen

    filename_zerlegt=aToken;  //aToken in den string filename_zerlegt schreiben*/
    
    cout << filename_zerlegt;


Dieser Post wurde am 16.02.2007 um 17:37 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


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: