[C] float/double zerlegen

Tach!
Sorry, aber ich blick's einfach nicht. Nach dem meine snprintf() Lösung ja schon funktioniert (siehe unten), ...
Code:
    if(0 != (offset = strspn(++buffer, "+0"))) {
        if('\0' == buffer[offset]) --offset;
        memmove( buffer, &buffer[offset], strlen(&buffer[offset]) + 1);
    }
Mal vom unschönen Lösungsweg abgesehen: das funktioniert so nicht. Zumindest wirst du z.B. für Zahlen 1 > x > 0 die Nullen im Exponenten so nicht los.
Im Übrigen empfehle ich dringend das Studium einer Implementierung der Standard-C Bibliothek, zum Beispiel glibc und hier speziell die Dateien im Unterordner ./sysdeps/ieee754.

Gruß
Enum
 
Zurück