Tom: c-string

Beitrag lesen

Hello,

ich baue gerade ein alte CGI (in c) auf php um. Das CGI hat ein UDP Paket zu einem Server geschickt. Dieses soll jetzt direkt aus dem PHP passieren.

Problem ist ein c-string "char buffer[size];" wo mit hilfe eines Pointers daten geschrieben wurden. Geht soetwas auch mit php? Habe halt unterschiedliche typen. zb: shorts. Habe diese direkt geschrieben und den Pointer um size(short) verschoben.

PHP kennt keine solchen generischen Datentypen. Es lässt auch den Zugriff auf den Speicher nicht dirket zu.

Die Typen, die man mit settype() festlegen kann, werden dann von PHP intern verwaltet und bei Bedarf auch automatisch ineinander umgewandelt, sofern das möglich ist.

http://de.php.net/manual/en/function.gettype.php
http://de.php.net/manual/en/function.settype.php

Typgerechte Daten direkt erzeugen zum Wegschreiben kannst Du mit der Funktion pack()

http://de.php.net/manual/en/function.pack.php

Sowohl in einem String als auch in einem (indizierten) Array kannst Du mittels des Index-Operators [] wandern.

Der "String" versteht sich dabei als Byte-Anreihung.
In einem Array kannst Du auch andere unterbringen

Mit array_fill() kannst Du solch ein Array "initialisieren".
http://de.php.net/manual/en/function.array-fill.php

Vielleicht helfen dir diese Betrachtungen etwas weiter.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de