2 Pluspunkte 0 Minuspunkte

Wie kann ich in C in einem Text alle Vorkommen eines bestimmten Substring finden und gleichzeitig auch an welcher Position sie sich befinden?

char str[] = "Lorem ipsum dolor sit ipsum amet consectetuer ipsum fringilla.";
char substr[] = "ipsum";
bezieht sich auf eine Antwort auf: Alle Positionen eines Zeichen in einem String finden
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Hier ist ein Beispiel mit Demo.

char str[] = "Lorem ipsum dolor sit ipsum amet consectetuer ipsum fringilla.";
char substr[] = "ipsum";

int len = strlen(str);
int sublen = strlen(substr);

for (int i = 0; i <= len - sublen; i++) {
    
    int j;       
    for (j = 0; j < sublen; j++)
        if (str[i + j] != substr[j])
            break;          
    
    if (j == sublen)
        printf("Position %d\n", i);
    
}
von (766 Punkte)