Hallo, folgende Zeile Code habe ich irgendwo gefunden (ist jetzt egal woher): unsigned char buf[20]; scanf("%X %X %X", (unsigned int*)buf, (unsigned int*)buf+1, (unsigned int*)buf+2); Sinn des Ganzen ist dass eine Zeile der Form "01 23 AB" von Hexziffern eingelesen werden soll wobei zwei Hexziffern ein Byte darstellen sollen. Es funktioniert nicht und man macht sowas auch nicht unbedingt. Nur verstehe ich das Ergebnis nicht ganz, im Speicher steht dann buf[0] = FF buf[1] = 0 buf[2] = 0 Ich könnt's mir eigentlich nur erklären wenn man davon ausgeht dass scanf() die Werte von rechts nach links füllt (und das Ganze auf einer Little-Endian-Maschine läuft, was ja bei IA32 der Fall ist). Wie gesagt: Mir geht's nicht darum wie ich den Code stattdessen schreiben soll, dass er funktioniert sondern nur um die Erklärung des Ergebnisses. Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Q: How does a Unix guru have sex? A: unzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep