strtok() token weiter bearbeiten....



  • hiho!

    ist es möglich die durch strtok() aus einem string erzeugten token weiter zu bearbeiten? bis auf die ausgabe dieser klappt sonst nichts...

    ich möchte aus einer datei mit n einträgen zeilenweise einlesen und diese zeilen mit strtok() ersteinmal zerlegen, um danach gewisse infos daraus zu erzielen.

    z.b. enthält jede dieser zeilen einen messwert welchen ich herausfiltern möchtte, doch eine direkte typumwandlung über den zurückgegebenen zeiger in ein int ist nicht möglich, wie auch das blosse kopieren dieses token in einen anderen string.

    strtok() habe ich so verstanden, dass sämtliche angegebenen trennzeichen mit '\0' ersetzt werden und man quasi aus einem string mehrere macht, um dann über die zurückgegebenen zeiger diese tokens als normalen string weiter nutzen zu können.

    das einlesen und kopieren klappt, aber eben nicht die weitere bearbeitung der tokens... einfaches kopieren dieser token sollte doch über den zeiger machbar sein oder?

    hoffe jemand versteht das prob und kann helfen...

    mfg dudi



  • dudi schrieb:

    hoffe jemand versteht das prob und kann helfen...

    um ehrlich zu sein, nein.

    Vor allem verstehe ich nicht, was du damit meinst

    dudi schrieb:

    ist es möglich die durch strtok() aus einem string erzeugten token weiter zu bearbeiten?



  • HAllo ,
    hmm dein strtok funzt also nur einmal oder wie?

    also folgendes:

    Ausgangsstring char Dummy[200] mit deinen Messwerten
    char *buf;

    buf = strtok('Dein Trennzeichen', Dummy);
    buf = strtok(0, Dummy); macht den nächsten Token
    ...
    immer wieder aufrufen bis Zeile fertig ist.

    und dann kannste zum Beispiel den String in Int wandlen:
    int Zahl = atoi(buf)
    oder atof für float

    oder atol für long.

    Ok?

    Greez
    Torsten


Log in to reply