Unsigned char* nach float konvertieren



  • Hallo,

    ich sitze hier gerade an einer Programmieraufgabe, die ich für die Uni (genauer: meine BSc Arbeit) brauche. Ich habe and er Uni leider nur Java gelernt (bin darin eigentlich ziemlich gut.. zumindesz so gut, dass ich an der Uni bezahlte Nachhilfe geben darf), nur jetzt darf ich mich mit C++ rumärgern.

    Eigentlich ist auch C++ nicht wirklich "Neuland" für mich, obwohl das immer mehr eine Spielerei war... nie wirklich was sinnvolles oder grosses programmiert... und naja.. ich hab's mir selber beigebracht... würd nicht sagen, dass ich gut drin bin.

    So... nun aber genug der Vorgeschichte und zu meinem Problem.
    Ich muss in einem framework arbeiten, dass Decode und Encoder zur Verfügung stellt. Alle Daten zwischen diesen beiden Klassen (eigentlich Interfaces) werden anscheinend Integer für Integer verschickt. Heisst: Der Encoder schickt beispielsweise einen String Zeichen für Zeichen zerlegt über TCP. Der Decoder nimmt das Ganze dann Zeichen für zeichen auf und baut daraus ein unsigned char[] auf. (Wieso unsigned char[]? ... fragt mich was leichteres 🙂 )

    Naja, ich bekomme jetzt über TCP float werte geschickt... die nimmt dann ein Decoder auf und baut mir daraus ein unsigned char* auf (das Array halt). Jetzt frage ich mich: Wie kann ich daraus die Werte auslesen? Ich will eigentlich nur herausfinden, wo eine Nullstelle zwischen den Werten ist...
    ...dazu muss ich aber mathematische Operatoren verwenden können (Multiplikation!)... und das geht nun mal auf unsigned char* nicht.

    Kann mir wer sagen, wie ich aus dem unsigned char Array wieder float werte bekomme? Ich hab atof versucht und strtof, aber da bin ich anscheinend zu blöd für...

    Quellcode wär echt nett (mit Erklärung oder Problembeschreibung natürlich noch besser ;-))

    MfG und schon mal Danke im voraus (allein für's lesen des langen Textes),
    Niko



  • Hallo

    siehe C++ FAQ hier im Forum, Thread Einmal String und zurück.

    bis bald
    akari



  • Hi,

    danke. Das hat jetzt doch besser geklappt, als ich dachte.
    Das nächste Mal verwende ich nicht nur die Suchfunktion, sondern schau auch mal die FAQ durch... sorry

    Trotzdem ein grosses Danke,
    Niko


Log in to reply