string in Teilstrings aufschlüsseln
-
hmm, dass hatte ich in der MSDN auch schon gefunden und angewendet.
Es liefert mir allerdings nur zurück, ab welcher Position dieses gesuchte Zeichen das erstemal anfängt.
Wie bekomm ich denn den String von VOR dem Trennzeichen und NACH dem Trennzeichen da raus?
Den Teil nach dem Trennzeichen benötige ich, um nach weiteren Trennzeichen zu suchen... .Vielen Dank
Majo
-
Versuchs mal mit strtok!
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/_crt_strtok.2c_.wcstok.2c_._mbstok.asp
-
hi,
jep, habe ich eben auch grad gefunden und probiert.. funktioniert

VIELEN DANK
-
hallo,
leider gehts doch nciht so wie ich will
strtok durchsucht nur nach einem char und nicht nach mehrerenbeispiel
Trennzeichen ="67"
so durchsucht er nach 6 und separat nach 7 und nciht als 67 als ganzes...leider weiss ich noch immer nciht, wie ich einen string aufplitten kann...
HILFE!!!
-
strstr
-
In der Zwischenzeit hättest du etwas derartiges schon längst selbst schreiben können. Ist ne Sache von Minuten ... und würdest dann vermutlich auch nicht die Unicode-Unterstützung verlieren, wie es bei strstr der Fall ist.

-
wenn ich folgendes mache
pdest = strstr( string, str );
result = pdest - string + 1;erfahre ich ja die startposition des gesuchten trennstrings.
z.B. "4"wie kann ich aus dem string jetzt aber die zeichen 1-3 anzeigen lassen?
-
Entweder du kopierst dir das Ganze in einen neuen String (z.B. lstrcpyn), oder du setzt einfach an der von strstr zurückgelieferten Fundstelle ein Nul-Zeichen (terminierst also dort den String) - dann pdest um eins erhöhen (damit bekommst du den Rest-String) und den Vorgang wiederholen.
So ungefähr stelle ich mir das vor

-
hab die Lösung gefunden, und jetzt leider für mir projektspezifisch heir gepostet.
hab veruscht etwas anzupassen.Waäre das was für die FAQs? Thema kommt bestimmt öfters
[/ //string1=zu durchsuchender String; trennstring=trennstring; pdest = strstr( string1, trennstring ); //iergeb=an welcher stelle fängt der trennstring an? iergeb = pdest - sKryptAll +1 ; //kopieren des strings BIS zum Trennstring nach sergeb; lstrcpyn(sergeb, sKryptAll, iergeb) ; //gefundener Teilstring nach sergeb2 kopieren strcpy(sergeb2,sergeb); //gefundener Teilstring in Edit-Fenster anzeigen SetWindowText (hwndEdit, sergeb2); //alle Positionen (gefundener Teilstring) einschl. trennstring mit Lerrzeichen //überschreiben _strnset( sKryptAll, '\ ', iergeb +len +1 ); //das ganze wiederholen while (pdest != NULL) { pdest = strstr( sKryptAll, sBase ); iergeb = pdest - sKryptAll +1 ; lstrcpyn(sergeb, sKryptAll, iergeb) ; strcat(sergeb2,sergeb); SetWindowText (hwndEdit, sergeb2); _strnset( sKryptAll, '\ ', iergeb +len +1); } //Leerzeichen wieder Raustrennen mit "strtok" //sergeb2=gefundene Teilstrings mit Leerzeichen; seps= "" ,\t\n"; token = strtok( sergeb2, seps ); while( token != NULL ) { //Projektspezifisch von mir token2 = atoi(token); c = token2 - 193 + 2 - (193 * 12); int result; result = "3"; if (result == c) { strcat (sergeb3, "a");} if (result +1 == c) { strcat (sergeb3, "b");} token = strtok( NULL, seps ); } //alles in Edit-Fenster anzeigen SetWindowText (hwndEdit, sergeb3); }
-
Majo schrieb:
Waäre das was für die FAQs? Thema kommt bestimmt öfters
Weiß nicht - eigentlich ist mir das hier noch kaum begegnet

Außerdem hat es eigentlich nichts direkt mit WinAPI zu tun - eher C / C++