String parsen



  • Hallo zusammen,

    via Netzwerk bekomme ich einen String in folgendem Format:
    test/test/test@test/test/test@test/test/test usw.
    alles von @ bis @ entspricht einem Datensatz, nun will ich diesen String so parsen, dass ich jedes einzelne dieser test Elemente habe.

    Mein erster Gedanke war, dies 2 mal mit strtok zu tun, das erste mal auf das @ das zweite mal für jeden erhaltenen String auf /
    Dummerweise klappt das so nicht, das zweite strtok überschreibt natürlich die werte vom ersten.
    Hat irgend jemand eine Idee wie man diesen String einfach parsen könnte?



  • Du könntest dich evtl. mit strchr durchhangeln.

    Sprich mit strchr nach einem @ suchen, und dann bis zu dieser position nach einem / usw.

    Gruß



  • immer die bloecke von @ bis @ lesen.
    ist einer ganz da, den an eine funktion geben. die kann dann strtok machen.



  • Naja. Vielleicht doch besser am Anfang ein <xml><dsatz>, am Ende ein </dsatz></xml>, statt den @ jeweils ein </dsatz><dsatz>, dann durch den XML-Parser jagen?



  • cheopz schrieb:

    Naja. Vielleicht doch besser am Anfang ein <xml><dsatz>, am Ende ein </dsatz></xml>, statt den @ jeweils ein </dsatz><dsatz>, dann durch den XML-Parser jagen?

    wtf??



  • cheopz schrieb:

    Naja. Vielleicht doch besser am Anfang ein <xml><dsatz>, am Ende ein </dsatz></xml>, statt den @ jeweils ein </dsatz><dsatz>, dann durch den XML-Parser jagen?

    Und da wundert sich einer über immer ressourcenhungrigere Software...

    greetz, Swordfish



  • Und da wundert sich einer über immer ressourcenhungrigere Software...

    Eine sehr berechtigte Kritik. Wenn man aber die Preise für Hardware mit denen für Arbeitskraft vergleicht, wird man vielleicht doch die ressourcenhungrige Variante wählen. Auch ist die Chance, einen Programmierfehler zu machen, damit kleiner.



  • das argument wuerde ich fuer hochsprachen gelten lassen. da machts keinen unterschied und XML waere auch leichter zu benutzen.

    wer c waehlt, hat sich fuer ein niedriges level entschieden. c ist keine hochsprache. hier nen xml parser einzuhaengen ist mehr arbeit als das bisschen daten selber zu zerteilen.



  • cheopz schrieb:

    Und da wundert sich einer über immer ressourcenhungrigere Software...

    Eine sehr berechtigte Kritik. Wenn man aber die Preise für Hardware mit denen für Arbeitskraft vergleicht, wird man vielleicht doch die ressourcenhungrige Variante wählen. Auch ist die Chance, einen Programmierfehler zu machen, damit kleiner.

    nee, das läuft genau andersrum. wenn die hardwarekosten pro stück wegen eines speicherfressenden XML parsers von 3€ auf 3.20€ steigen, kannste dir vorstellen, dass es bei hohen stückzahlen nicht mehr wirtschaftlich ist. softwareentwicklung wird in der regel nur einmal bezahlt und dann kann fröhlich kopiert werden 😉

    btw: es hat nichts mit der programmiersprache zu tun
    🙂



  • cheopz schrieb:

    Wenn man aber die Preise für Hardware mit denen für Arbeitskraft vergleicht, wird man vielleicht doch die ressourcenhungrige Variante wählen. Auch ist die Chance, einen Programmierfehler zu machen, damit kleiner.

    In diesem Fall ist xml einfach nur mit Kanonen auf Spatzen geschossen, egal welche Sprache...

    greetz, Swordfish



  • cheopz schrieb:

    Naja. Vielleicht doch besser am Anfang ein <xml><dsatz>, am Ende ein </dsatz></xml>, statt den @ jeweils ein </dsatz><dsatz>, dann durch den XML-Parser jagen?

    Hallooooo? Liest sich der OP für dich als würde er den String selber produzieren?


Anmelden zum Antworten