diff options
-rw-r--r-- | example.cc | 25 |
1 files changed, 14 insertions, 11 deletions
@@ -17,15 +17,18 @@ std::string get(const std::string& path, std::size_t offset, std::size_t length) return result; } -int main() { - // Get location of _Accession_ - const std::string line = dictzip::get_line_starting_with("gcide.index", "Accession"); - - // Decode location of _Accession_ - // `gcide.index[1089]: "Accession 8Aw Wt" - const std::size_t offset = dictzip::base64_decode(dictzip::get_encoded_offset(line)); - const std::size_t length = dictzip::base64_decode(dictzip::get_encoded_length(line)); - - // Print the GCIDE definition of _Accession_ - std::cout << get("gcide.dict.dz", offset, length) << std::endl; +int main(int argc, char** argv) { + if ( argc != 2 ) { + std::cerr << "Empty query." << std::endl; + } else { + // Get index entry of requested word definition + const std::string line = dictzip::get_line_starting_with("gcide.index", argv[1]); + + // Decode location in compressed archive + const std::size_t offset = dictzip::base64_decode(dictzip::get_encoded_offset(line)); + const std::size_t length = dictzip::base64_decode(dictzip::get_encoded_length(line)); + + // Print the GCIDE definition of _Accession_ + std::cout << get("gcide.dict.dz", offset, length) << std::endl; + } } |