Problem mit Stringvergleich
-
Hi, ich muss Pfade vergleichen, aber es klappt irgendwie nicht so.
char muster = "E:\NEW_WS\Sandbox\Sandbox_2\Write"; char str1 = "E:\NEW_WS\Sandbox\Sandbox_2\Write\Test\Morgen"; char str2 = "E:\NEW_WS\Sandbox\Sandbox_2\Write2\Test\Gestern";
es soll überprüft werden, ob man sich in einem unterverzeichnis bzw in dem verzeichnis vom muster befindet.
habe versucht die '\' im muster zu zaählen und bei deren anzahl+1 slashes in str1 und str2 abzuschneiden um dann mit stricmp zu vergleichen.
allerdings liefert er keine richtigen ergebnisse
er vergleicht nur bis Sandbox_2 obwohle ich die abgschnittenen mir ansehe und die auch völlig in ordnung sind
HILFE BITTE
-
Du kannst mit strncmp() nur den ersten Teil des Vergleichspfades in überprüfen (damit werden schonmal völlig unpassende Pfade wie "E:\NEWS_WS\Sandbox\Sandbox_1\..." ausgeschlossen) und anschließend überprüfen, ob hinter dem Muster ein \ kommt (das schließt z.B. den str2 aus):
if(strncmp(path,muster,strlen(muster)==0 && path[strlen(muster)]=='\\') ...//weiter arbeiten
-
danke, hab es mit deiner hilfe hinbekommen...