StrStr Funktion
-
Ich versuche, meine eigene StrStr-Funktion zu tun, ich weiß nicht, wie man das tut, wie vollbringt man das? Kann jemand helfen, das für mich zu schaffen?
Dank!
-
was soll denn diese StrStr-Funktion machen?
...oder zählt das zu den Basics einer programmiersprache, dass man sowas wissen sollte ???
-
@mika: strstr() sucht eine Zeichenkette in einer anderen Zeichenkette, ja das sollte man wissen *g*, naja nicht unbedingt
@Rizael: Ich mach das immer so (wenn ich nicht strstr() benützen kann):
1. Gehe String solange durch bis str[i]==pattern[0]
2. Neue Schleife, gehe hier solange durch solange str[i+j]==pattern[j], wenn j==strlen(pattern) haben wir es gefunden und geben str[i] zurück, sollte irgendwann != herauskommen gehen wir in der äußeren Schleife weiterGibt aber sicher schnellere Lösungen, *erinner*, man merkt sich wann ich zuletzt häufige Buchstaben gefunden habe und kann dann in guten Fällen i um mehr als 1 erhöhen wenn das Pattern nicht gepasst hat, etc.
MfG SideWinder
-
// ungetestet const char* strstr(const char* str, const char* pattern) { for(int i = 0; i < strlen(str) - strlen(pattern); ++i) { if(strncmp(str + i, pattern, strlen(pattern)) == 0) { return str + i; } } return NULL; }
-
ich versteh einfach nicht, warum man sich noch mit char-Arrays rumquält, es gibt doch die wunderschöne string-Klasse
//funktionsteil string str_str(const string&s1,const string&s2) { return s1.substr(s1.find(s2),s1.size()); } //mainteil string sentence="this is a wonderful sentence."; string search="wonderful"; cout << str_str(sentence,search) << endl;
li la lumdidon,
fertig ist die str_str()-funktionmfg