Zeiger-Problem:



  • Moinsen,

    ich hab einen String auf den ein Zeiger gerichtet ist (**pdata). Mit dem zweiten Zeiger suche ich mir den "test" String in diesem String. Das funktioniert auch.

    Jetzt möchte ich gern herausbekommen, wieviele character zwischen der aktuellen Position des **pdata Zeigers und des *ptr Zeigers liegen (wo sich test im string befindet). Das funktioniert nach dem unteren Code leider gar nicht...

    void funktion(unsigned char **pdata)
    {
      char *ptr;
      unsigned short length=0; 
    
      ptr = strstr(*pdata, "test");
    
      length = *pdata - ptr;     /* <- Problem */
    }
    

    Gruß
    KumpelJA



  • Hya!
    Probier mal andreasrum:
    length = ptr - *pdata;



  • Wenn *pdata der Beginn des Strings ist, kann die Adresse nicht größer als ptr sein. Also:

    length = ptr - *pdata;



  • Aber dran denken, daß ptr NULL ist, wenn der Suchvorgang nicht erfolgreich war.


Log in to reply