Typumwandlung

O

object123

Hallo !
Mein Frage ist wie ich am einfachsten und 'sichersten' ein Char aus einem Array in ein Float umwandeln kann

Vielleicht noch eine kleine Information ich verwende Visual C++ und arbeite mit MFC
 
Ja ok hab ich mir angesehen ab ist reinterpret nicht ein wenig gefährlich weil es ja doch sehr hardwarenahe ist. Wäre es nicht sicherer und eigentlich einfacher atof oder atoi zu verwenden
 
Hi.
Ja ok hab ich mir angesehen ab ist reinterpret nicht ein wenig gefährlich weil es ja doch sehr hardwarenahe ist.
Nein, das einzig gefährliche wäre wenn der Puffer nicht ordentlich initialisiert ist, sprich der Zeiger irgendwo ins Nirvana zeigt oder der Puffer nicht lang genug ist. Dieses Problem besteht aber immer, unabhängig vom reinterpret_cast.
Wäre es nicht sicherer und eigentlich einfacher atof oder atoi zu verwenden
Das kommt ganz drauf an was überhaupt in dem char Array drin steht. Wenn dort in dem Array (also an der Adresse im Speicher) eigentlich ein float steht, dann ist reinterpret_cast zu verwenden.

Wenn aber im Array Text steht, der erst noch interpretiert werden muss, dann müßte man natürlich Funktionen verwenden die den Text interpretieren können. Das funktioniert dann überhaupt nicht mit reinterpret_cast.

Gruß
 
In dem Array steht ein Text also pro Array Feld ein Zeichen. Diese Zeichen ergeben erst zusammengesetzt eine Gleitkommazahl !!
 
Mit sscanf kenn ich mich nicht aus!!
bitte ein Codebeispiel posten mit Erklärung danke
 
brunlorenz hat gesagt.:
Hallo, also ich weiss wirklich nicht, wozu das nützlich sein soll, aber ich würde das hier machen:
Ich glaube du hast irgendwie missverstanden worum es geht.
C:
const char* buf = "3.12e-10";
float f;

// hier String konvertieren nach float...
Gruß

PS: In C++ könnte man natürlich auch (besser) einen stringstream verwenden.
 
Zurück