struct.pack Funktion...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
C-Bone

Hi,

Kann mir einer sagen wie die "struct.pack" Funktion funktioniert?
Ein C++ Source wäre evt. hilftreich...

MfG C-Bone
BlackJack

Zuallererst: Zeichenketten sind in Python auch "Byteketten", können also beliebige binäre Daten enthalten. So ähnlich wie in C(++) Felder vom Typ `unsigned char`.

Mit `struct.pack()` kann man nun Python-Objekte wie Integer, Fliesskommazahlen und Zeichenketten so in eine Zeichenkette packen, wie sie einem C `struct` entsprechen das man mit der Format Zeichenkette angibt, was der erste Parameter der `struct.pack()` Funktion ist.

Die `struct.pack()` und `struct.unpack()` Funktionen kann man also benutzen um Daten in C-Struktur-Form in Python Objekte zu entpacken bzw. Python Objekte in das Speicher-Layout einer C Struktur zu bringen. Beispielsweise um Binäre Dateiformate zu lesen und zu schreiben.

Ich weiss jetzt nicht so recht was für C(++) Quelltext Du hier sehen möchtest. Stell dir einfach `struct` Deklarationen vor. Zum Beispiel könnte man einen Punkt im 3D Raum so deklarieren:

Code: Alles auswählen

typedef struct {
  double x, y, z;
} Point;
Die entsprechende Formatierungs Zeichenkette für das `struct` Modul wäre dann 'ddd' oder '3d' für drei `double` Werte in C.
Antworten