Letztes Wort nach Token finden strtok()



  • Wie? Ich habe eine Schleife, in der ich einen char-String durchsuche, bis strtok() NULL zurückgibt. Allerdings ist es dann zu spät. Wie kriege ich den letzten String vor NULL?

    Danke.



  • Wie wärs, wenn du du dir jeweils den letzten strtok-Rückgabewert merkst?



  • Wutz schrieb:

    Wie wärs, wenn du du dir jeweils den letzten strtok-Rückgabewert merkst?

    Hab ein Brett vorm Kopf. Wie soll ich das tun?



  • Eine Variable einer anderen Variable zuordnen, ist das zuviel für dich?



  • Ich bin nicht sicher, ob das so hinhauen wird. Es könnte doch sein, dass am Ende des Strings noch einige Trennzeichen sind. Dann wird strtok() das erste Trennzeichen mit einem Nullzeichen überschreiben, wenn es den letzten Zeiger zurückgibt. Dieser Zeiger zeigt dann zwar auf den letzten Token, aber wenn dann nachher NULL zurückgegeben wird, ist das Nullzeichen wieder mit dem Trennzeichen überschrieben worden. Also zeigt der Zeiger zwar auf den letzten Token, aber danach könnte noch Rauschen sein.
    🙂



  • Nein, für strtok sind abschließende Trennzeichen (auch mehrere) gleichbedeutend mit Stringende. strtok liefert außer bei Leerstrings und nur Trennzeichen enthaltenen Strings auch niemals einen !=NULL Zeiger auf einen Leerstring.


Anmelden zum Antworten