====== leveldb前缀查询 ====== 先创建一个函数,用于检查前缀 bool isPrefix(const std::string & pfx , const std::string & str){ auto p=pfx.c_str(); auto s=str.c_str(); int len = pfx.size(); for(int i=0;i 开始搜索(搜索到的结果插入到链表res中) leveldb::Iterator * it = classifies->NewIterator(leveldb::ReadOptions());//创建迭代器 for(it->Seek(prefix)/*定位前缀*/; it->Valid(); it->Next()) { auto k = it->key().ToString();//key auto v = it->value().ToString();//value if(!isPrefix(prefix,k)) break;//前缀不匹配,说明搜索完了 res.push_back(v);//插入链表 } delete it;