本文整理汇总了C++中StringPtr::ptr方法的典型用法代码示例。如果您正苦于以下问题:C++ StringPtr::ptr方法的具体用法?C++ StringPtr::ptr怎么用?C++ StringPtr::ptr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringPtr
的用法示例。
在下文中一共展示了StringPtr::ptr方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testPkt
void testPkt()
{
typedef boost::shared_ptr<FreeList<net_pk> > NetPacketFLShrPtr;
NetPacketFLShrPtr pkFL(new FreeList<net_pk>(5, 10));
sPkFList.set(pkFL);
IPacketShrPtr pk = allocPacket();
pk->setMsg(M_JUMP);
pk->put("teststring", 10);
pk->put("teststr2", 8);
StringPtr ms;
pk->get(ms, pk->getSize());
printf("pk: %s\n", ms.ptr());
printf("pk size: %d\n", pk->getSize());
printf("msg: %s\n", g_msgs[pk->getMsg()].c_str());
IPacketParserShrPtr pkpr(new packet_builder);
char str[PKT_MAX_SIZE] = "001400ACTION1#nous|1&4&5&1";
std::vector<IPacketShrPtr> pks;
pkpr->parse(str, 2, pks);
pkpr->parse(str+2, 1, pks);
pkpr->parse(str+3, 1, pks);
pkpr->parse(str+4, 2, pks);
pkpr->parse(str+6, 1, pks);
pkpr->parse(str+7, 2, pks);
pkpr->parse(str+9, 17, pks);
for (uint32 i=0; i<pks.size(); ++i)
{
StringPtr msi;
pks[i]->get(msi, pks[i]->getSize());
printf("pks[i]: %s\n", msi.ptr());
printf("pks[i] size: %d\n", pks[i]->getSize());
printf("msg: %s\n", g_msgs[pks[i]->getMsg()].c_str());
Args args_list;
packet_seer psr;
pks[i]->reset();
psr.analyse_packet(pks[i], args_list, g_spts);
std::vector<Arg>& args = args_list.argList;
for (uint32 i=0; i<args.size(); ++i)
{
printf("args[%d]: arg: %s\n", i, args[i].arg.c_str());
}
}
getchar();
}