Position von char-Variable



  • Nabend!
    Eben mal eine kurze Frage. Kennt jemand eine elegante Lösung, um die Position einer Zeichenkette in einer zu durchsuchenden Zeichenkette auszugeben?

    char Durchsuchen[] = "Dies ist der legendaere Satz.";
    char Finden[] = "der";
    int Position;
    
    //und dann die Position finden
    //Position = ...
    
    printf("\"%s\" befindet sich an Position %d.", Finden, Position);
    

    Wenn da jemand weiter weiß, wäre ich ihm sehr verbunden. 🙂



  • Lösung durch Probieren gefunden:

    Position = strlen(strstr(Durchsuchen, Finden)) - strlen(Durchsuchen);
    

    Weiß jemand was noch eleganteres? 🙂



  • char Durchsuchen[] = "Dies ist der legendaere Satz.";
    char Finden[] = "der";
    int Position;
    
    //und dann die Position finden
    //Position = ...
    
    printf("\"%s\" befindet sich an Position %d.", Finden, strstr(Durchsuchen,Finden)-Durchsuchen);
    


  • Wutz schrieb:

    char Durchsuchen[] = "Dies ist der legendaere Satz.";
    char Finden[] = "der";
    int Position;
    
    //und dann die Position finden
    //Position = ...
    
    printf("\"%s\" befindet sich an Position %d.", Finden, strstr(Durchsuchen,Finden)-Durchsuchen);
    

    Au, das sieht ja richtig schön aus. 🙂 Danke!


Log in to reply