제 질문은 간단합니다.PHP ++의 PHP 팩()과 동일합니다.
C++ STL에는 PHP의 pack() 및 unpack() 함수가 있습니까? 아니요, 동일한 목표를 달성하기위한 대안이 있습니까?
감사합니다.
제 질문은 간단합니다.PHP ++의 PHP 팩()과 동일합니다.
C++ STL에는 PHP의 pack() 및 unpack() 함수가 있습니까? 아니요, 동일한 목표를 달성하기위한 대안이 있습니까?
감사합니다.
목표가 데이터를 직렬화하는 경우 Google 프로토콜 버퍼를 사용하여 달성 할 수 있습니다.
는 STL에는 직렬화 메커니즘이 없습니다. 원하는 작업에 따라 library such as the one in Boost을 사용하거나 write your own serialization code을 사용할 수 있습니다. 특히 데이터가 단순한 경우 실용적인 대안이 될 수 있습니다.
구조체는 PHP의 언팩 기능과 매우 비슷합니다.
이러한 코드는 기본적으로 동일합니다.
PHP :
define('ISP_TINY', 4);
class IS_TINY
{
const PACK = 'CCCC';
const UNPACK = 'CSize/CType/CReqI/CSubT';
public $Size = 4;
public $Type = ISP_TINY;
public $ReqI;
public $SubT;
public function __construct($rawPacket)
{
$pkClass = unpack($this::UNPACK, $rawPacket);
foreach ($this as $property => $value)
{
$this->$property = $pkClass[$property];
}
}
}
C++는 :
#define ISP_TINY = 4;
struct IS_TINY // General purpose 4 byte packet
{
byte Size; // Always 4
byte Type; // Always ISP_TINY
byte ReqI;
byte SubT;
};
은 한 동안 다시 나는이 기능을 수행 C의 작은 도서관을 썼다. Google 코드에 여기에 코드를 입력했습니다 : code.google.com/p/packlib/
C++ 표준 라이브러리에 없습니다. –