substrings zählen
-
hallo, ich wollte eine funktion schreiben, die mir die anzahl der substrings eines strings zurückgibt. meine funktion ist aber viel zu langsam
kann vielleicht jemand drüber gucken und mir tipps geben, oder vielleicht ist sogar mein ansatz falsch? gibts andere möglichkeiten?der code sucht mit AnsiPos() die linkeste stelle und schneidet von da an plus die länge des substrings ab, usw...
hier der code:
int CntWrds(AnsiString asText, AnsiString asSubString) { int iGes = 0; while(1) { // linkeste position von asSubString int x = asText.AnsiPos(asSubString); if(x > 0) { // kürze asText asText= asText.SubString(x + asSubString.Length(), asText.Length()); iGes++; } else break; } return iGes; }
-
ich hab grad ne funktion gefunden, muss mal testen
int Substr_count (char *haystack, char *needle) { int counter = 0; char *loc = NULL; /* Sanity checks */ if ((haystack == NULL) || (needle == NULL)) { return 0; } while ((loc = strstr(haystack, needle)) != NULL) { counter++; haystack = loc + strlen(needle); } return counter; }
-
Das wurde doch vor ein paar Tagen schonmal gefragt
Gugst Du