W
1. Hast du Endian-ness beachtet?
2. Dein Code enthält Fehler:
char * char_ptr = &Float_Zahl
*char_ptr = buffer[0];
*(char_ptr++) = buffer[1]; // Fehler!!!
*(char_ptr++) = buffer[2];
*(char_ptr++) = buffer[3];
Zuerst wird nämlich der Wert von char_ptr (die Adresse, auf die es zeigt genommen), dereferenziert und in die Adresse, auf die char_ptr zeigt, der Wert reingeschrieben, ANSCHLIESSEND dann char_ptr um 1 erhöht.
Wenn du dich nicht mit C auskennst, dann mach bitte keine solchen Spielereien, sondern schreib einfach ordentlich die Zeile mit Fehler (und die 2 folgenden) stattdessen so, wie es sich für Anfänger gehört:
char_ptr++;
*char_ptr = buffer[1];
Wenn du dann den Unterschied zwischen Pre- und Postinkrement in einer fernen Zukunft verstanden hast, dann (aber erst dann!), darfst du es folgendermaßen schreiben:
*(++char_ptr) = buffer[1];