Suchfunktion wie bei Visual Studio Help

Indian

Erfahrenes Mitglied
Hi

strcmp vergleicht ob beide strings gleich sind und strstr ob ein teilstring im string enthalten ist. Mit welcher String Funktion kann ich das hier machen was ich vor hab ?

ich möchte eine Suchfunktion schreiben welche bei jeder Tasteneingabe in ein TextEdit Feld, denn Inhalt einer Listbox durchsucht und bei Übereinstimmung die Zeile in meiner Listbox (CListCtrl) markiert. So funktioniert auch doch die Suchfunktion bei von Visual Studio NET Help wenn man nach dem Index sucht.

Ich weiss nur nicht wie ich denn vergleich machen soll. Gibt es überhaubt eine String Vergleichs Funktion bei der ich sagen auf welcher postition verglichen werden muss ?

:confused:
 
Hm?

Hol dir nacheinander in einer Schleife den Itemtext (mit deinListCtrl.GetItemText( iItem ) ) aller Items und vergleiche diese mit deinem Suchtext (z.B. mit strcmp() oder den CString-Methoden).

Hast du mal in der MSDN Lib die Dokumentation zu CListCtrl und zu CString angesehen? Eins Zwei
 
lol :) ja das hab ich

strcmp ist mir klar.. dieser vergleicht aber nur denn ganzen string nicht denn anfang bzw denn darauffolgenden character.

Wenn ich im Textfeld "C" drücke... dann musst in der Listbox das erste Item bzw. zeile markiert werden die mit "C" anfängt. Tippe ich "Cm" dann halt zum ersten wort welches mit "Cm" anfängt und diese dann auch markiert.
 
Na dann: Anstatt die beiden Texte (Dein Suchtext und das aktuelle Item) direkt mit strcmp() zu vergleichen, machst du eine kleine Schleife, in der mit strncmp() erst 1, dann 2 usw. Zeichen verglichen werden.

Eleganter wäre aber die Verwendung von mismatch() aus dem <algorithm>-Headerfile. Ich habe im Moment allerdings kein Beispiel dazu. Wenn ich eines finde oder dazu komme, eines zu schreiben, poste ich es hier.
 
wie kann ich in einem string auf das erste 2.te bzw. e.te zeiche zugreifen ?

CString class members habe ich keinen hinweis daraufgefunden das es geht :rolleyes:
 
Zurück