Wörter aus einem zweidimensionalem String mit einem String vergleichen
-
Hi, Anfänger hat folgendes Problem:
Gibt's für das oben genannte eine einfache, elegante Lösung aus den standardslibs vllt. ?
Sprich, wenn ich folgendes habe (bsp.) :char test[1000];
char wort[][20] = {"wort1", "wort2", usw. };wortX soll im test string gesucht werden.
Gibts das was vorgefertigtes ? mit strncmp klappts bei mir irgendwie nicht.grüsse
-
skilledmoron schrieb:
Gibts das was vorgefertigtes ?
nö, kannst du aber mit schleife einfach selbst programmieren.
-
was klappt denn nicht ?
nimm strcmp.char* pstr = "string x"; for ( i=0; i<n; i++ ) { if( strcmp(wort[i], pstr ) == 0 ) puts("gefunden"); }
-
Danke für die Anworten.
bonus schrieb:
was klappt denn nicht ?
nimm strcmp.char* pstr = "string x"; for ( i=0; i<n; i++ ) { if( strcmp(wort[i], pstr ) == 0 ) puts("gefunden"); }
Das mag ja klappen, aber es vergleicht ja nur einen einfachen string mit einem wort, und nicht ein, in einem 2 dimensionalen array befindliches wort mit einem beliebigen Teil eines Strings.
Nach langer rumkritzeln habe ich sowas hier gemacht:
while(length[count]) { for(i2=0, i3=0; i3<10;) { if(length[count] == words[i3][i2] && length[count+1] == words[i3][i2+1] && \ length[count+2] == words[i3][i2+2] && length[count+3] == words[i3][i2+3]) { length[count] = 'X'; length[count+1] = 'X'; length[count+2] = 'X'; length[count+3] = 'X'; break; } i3++; } count++; }
Da meine Wörter zum grössten Teil 4 Stellig sind, klappt das ganz gut.