2016-12-06 78 views
1

我寫了這段代碼來嘗試leveldb。我使用Unix時間作爲密鑰。對於有空格的值,只保存最後一部分。這是代碼。我運行Linux內核4.4.0-47泛型爲什麼這個leveldb代碼會截斷其中包含空格的「std :: string」?

while (true) { 
    std::string note; 
    std::string key; 
    std::cout << "Test text here "; 
    std::cin >> note; 
    std::cout << std::endl; 

    if(note.size() == 0 || tolower(note.back()) == 'n') break; 
    key = std::to_string(std::time(nullptr)); 
    status = db->Put(write_options, key, note); 

    if(!status.ok()) break; 
    } 

    std::cout << "Read texts........" << std::endl; 
    leveldb::Iterator* it = db->NewIterator(leveldb::ReadOptions()); 
    for(it->SeekToFirst(); it->Valid(); it->Next()){ 
     std::cout << it->key().ToString() << " " << it->value().ToString() << std::endl; 
    } 

    delete db; 

回答

相關問題