Frage zu Find!
-
Hallo,
ich verwende folgenden Code um Wörter in einem String zu suchen.
if (strText.Find("wakeup",0)) { } else { MessageBox("Wakeup gefunden"); }
Das funktioniert aber nur wenn das Wort wakeup an erster Stelle meines Strings ist. Das Wort Wakeup kann aber auch erst als drittes Wort in meinem String sein weil der String immer anders ist und es soll dann natürlich auch gefunden werden.
Vielen Dank im Voraus
asmodia
-
Hi,
Find liefert Dir die Position, wo der String anfängt!
Du musst so fragen:
if (strText.Find("wakeup",0) > -1) { MessageBox("Wakeup gefunden"); } else { MessageBox("Nix da..."); }
-
Vielen Dank!
funktioniert super.
asmodia
-
noch eine Frage, wie mach ich das mit 2 Wörtern?
also nur wenn das Wort "you" und das Wort "wakeup" im String stehen, wobei die Wörter nicht hintereinander im String stehen müssen, sondern auch im String beliebig verteilt sein dürfen soll die MesageBox kommen!
-
einfach if(finddaserste !=-1 && finddaszweite!=-1)
-
danke, da hatte ich mich nur mit den Klammern vertan.
ich hatte es so versucht:
if(finddaserste !=-1) && (finddaszweite!=-1)
eine Frage habe ich noch!
ich will das alle Einträge geloggt werden.
Folgenden Code verwende ich dafür:CStdioFile file; if( file.Open( _T("C:\datei.txt"), CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite)) file.WriteString( m_strDeinString);
das Problem ist nur das ich jedesmal wenn ich wieder in die Datei schreibe der alte Inhalt überschrieben wird.
Ich will aber das alle Einträge untereinander stehten, so z.B.
hallo
essen
laufen
schlafenusw
ich habe es schon mit \n und \r\n versucht überschreibe aber immer wieder meie alten Einträge
-
Du musst nach dem öffnen der Datei ein SeekToEnd machen.
-
Danke!
[ Dieser Beitrag wurde am 12.02.2003 um 17:22 Uhr von asmodia editiert. ]
-
Na also*g*;-)
file.SeekToEnd(); //Steht übrigens auch in der MSDN als Member von CFile