pl: c Mathematik über Binary

Beitrag lesen

C Code:

int main(){
    char a[4] = {65,66,67,68};
    uint32_t w[1];

    FILE *fh;
    fh = tmpfile();
    fwrite(a,sizeof a,1,fh);
    rewind(fh);
    fread(w,sizeof w,1,fh);
    fclose(fh);

    printf("%d\n",w[0]); // 1145258561

}

ergibt :

D:\home\dev\c>a
1145258561

D:\home\dev\c>perl -e "print pack 'V', 1145258561"
ABCD

Praktisch werden aus einer Binary die 4 Oktettenwertigkeiten wieder ausgelesen (Vax Order, Little Endian).

Meine Frage ist, ob man das auch ohne temporäre Datei machen kann? Also auch direkt über den Datentyp und nicht mit Bitverschiebung.

(praktisch gehts um Rechnen mit IPv4)

MfG