64,640
社区成员
发帖
与我相关
我的任务
分享
// test.cpp : Defines the entry point for the console application.
//
#include <tchar.h>
#include <stdio.h>
#include <Windows.h>
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include "leveldb.h"
#include <boost/lexical_cast.hpp>
using std::cout;
using std::endl;
//
#if defined _DEBUG
#if defined LEVELDB_DLL
#pragma comment(lib,"..\\_exports\\DebugDll\\leveldb_d.lib")
#else
#pragma comment(lib,"..\\_exports\\Debug\\leveldb_d.lib")
#endif
#else
#if defined LEVELDB_DLL
#pragma comment(lib,"..\\_exports\\ReleaseDll\\leveldb.lib")
#else
#pragma comment(lib,"..\\_exports\\Release\\leveldb.lib")
#endif
#endif
#define DB_BENCH
#if defined LEVELDB_DLL
#undef DB_BENCH
#undef DB_TEST
#endif
void WriteDb(leveldb::DB* db)
{
const char* Content = "We now decided that after three years it might";
char Buff[10];
ZeroMemory(Buff,sizeof(Buff));
leveldb::WriteOptions wo;
wo.sync = false;
for(int i = 0 ; i < 20 ;i++)
{
_itoa_s(i,Buff,10);
leveldb::Status s = db->Put(wo,Buff,Content);
}
}
void ReadDb(leveldb::DB* db)
{
leveldb::Iterator* it = db->NewIterator(leveldb::ReadOptions());
for (it->SeekToFirst(); it->Valid(); it->Next())
{
cout << it->key().ToString() << ": " << it->value().ToString() << endl;
//这里出现了无限循环,纳闷了,不应该啊,难道我用的版本有问题?
}
}
int main()
{
leveldb::DB* db;
leveldb::Options options;
options.create_if_missing = true;
leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db);
assert(status.ok());
WriteDb(db);
ReadDb(db);
}