String Compare mit Token! Fehler!!!!
-
Hey ins Forum,
ich will gerade einen String Compare mit Token machen, aber irgendwie kommt immer ein Fehler. Vielleicht seht ihr ja auf Anhieb wo der Fehler liegt:
char* strCompare::token(char* string) { char* Vergl = NULL; char Seperator [] = " "; Vergl = strtok (string,Seperator); return Vergl; }Ich rufe diese diese Methode auf um meine 2 Strings die ich vergleichen will, abzuschneiden.
meine Strings sind:
Bild Test.jpg
Bild Ref.jpgJetzt will ich einfach nur den Teil VOR dem space vergleichen. Also Bild mit Bild.
Komiplieren tut er ohne Probleme, aber wenn ich das Programm starte, dann kommt die Fehlermeldung:Unbehandelte Ausnahme bei 0x0042e4a4 in strCompare.exe: 0xC0000005: Zugriffsverletzung Schreibposition 0x00451104
Drücke ich jetz unterbrecvhen springt er in die strtok.c und Zeigt auf Zeile 97.
Hat jemand von Euch damit Erfahrung?
Das wäre supi.vielen Dank für die Hilfe
Eva
-
Benutz std::string.
-
vielen Dank !!!
und wo schreib ich das am besten hin?
-
Das Problem ist, wenn ich alle strings von char* in std::string umwandle, dass mein strtok nicht mehr funktioniert, weil der nur (char*,const char*) übergeben bekommen kann.....
Aber wieso funktioniert das nicht? Soll ich auch mal mein Main und meine h-File posten?
Danke
Eva
-
String hat dafür find(), find_first_of() und substr().
(und dein Problem dürfte daran liegen, daß du String-Literale an die Funktion übergeben willst)
-
Vielen Dank, aber ich habe es gelöst.
Das Problem war, dass ich meine Eingabestrings als char* hatte und die müssen als char name [] deklariert sein.Jetzt funktionierts.
Macht das einen Unterschied ob ich die std::string verwende, oder die char*????Vielen Dank