⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key-meta.cc

📁 无线传感器网络中,基于协商的SPIN路由协议在NS-2下仿真实现的源代码
💻 CC
字号:
#include <mit/rca/meta/key-meta.h>static class KeyMetaClass : public TclClass {public:  KeyMetaClass() : TclClass("KeyMetaData") {}  TclObject* create(int, const char*const*) {    return (new KeyMeta);  }} class_KeyMeta;KeyMeta::KeyMeta(){}KeyMeta::~KeyMeta(){}int KeyMeta::command(int argc, const char*const* argv){  Tcl& tcl = Tcl::instance();  if (argc == 2) {    if (strcmp(argv[1], "metatostring") == 0) {      char *result = KeyMeta::MetaToString();      tcl.resultf("%s",result);      return TCL_OK;    }  }  if (argc == 3) {    if (strcmp(argv[1], "stringtometa") == 0) {      KeyMeta::StringToMeta((char *)argv[2]);      return TCL_OK;    }  }  return KeySet::command(argc, argv);}void KeyMeta::StringToMeta(char *string){  char *c;  char *stringstart = string;  for(c = string; *c != '\0' ; c++)    {      if (*c == ',')	{	  *c = '\0';	  Add(stringstart);	  stringstart = c + 1;	}    }  Add(stringstart);  return;}char *KeyMeta::MetaToString(){  int size = 0;  int i;  for (i = 0; i < buckets_ ; i++)    {      BucketList *p;      for (p = htab_[i] ; p != NULL ; p = p->next_)	{	  size += strlen(p->key_) + 1;	}    }  char *string = new char[size];  char *c = string;  for (i = 0; i < buckets_ ; i++)    {      BucketList *p;      for (p = htab_[i] ; p != NULL ; p = p->next_)	{	  strcpy(c,p->key_);	  size = strlen(p->key_);	  c = c+size;	  *c = ',';	  c++;	}    }  c--;  *c = '\0';  return string;}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -