Möglichkeit zum Testen ob in einem char-Array ein Integer ist?
-
Hi,
also es ist ja möglich in einen char-Array alles möglich reinzupacken (mittels memcpy). Angenommen ich habe jetzt z.B. folgendes:
char array[10]; ... char* pointer = array; pointer += 4; //Zeige jetzt auf das 4. Element vom Array int* integer = (int*)pointer; //integer auslesen cout << *integer;Das funktioniert so natürlich immer. Angenommen es wurde vor dem Auslesen tatsächlich ein Integer hierrein gepackt, dann kriege ich so auch den korrekten Wert zurück. Aber angenommen es wurde kein Integer reingepackt, sondern irgendwas anderes, dann kriege ich trotzdem irgendeine Zahl zurück, wobei diese zufällig ist.
Gibts da eine Möglichkeit irgendwie rauszufinden, ob das was man auslesen will tatsächlich auch als int dort reingeschrieben wurde?
-
Nein. Integer decken alle möglichen Bitkombinationen ab. Mach sowas einfach nicht.
-
Hallo
Nicht zu vergessen das sizeof(char) < sizeof(int). Ich weiß nicht ob du das in deinem Verfahren berücksichtigt hast, aber ich bezweifle es.
bis bald
akari