Wt examples  4.10.3
Loading...
Searching...
No Matches
Functions
Dictionary.C File Reference
#include "Dictionary.h"
#include <Wt/WApplication.h>
#include <fstream>
#include <iostream>
#include <random>

Go to the source code of this file.

Functions

std::string randomWord (Dictionary dictionary)
 

Function Documentation

◆ randomWord()

std::string randomWord ( Dictionary  dictionary)

Definition at line 14 of file Dictionary.C.

15{
16 std::ifstream dict;
18 dict.open(Wt::WApplication::appRoot() + "dict-nl.txt");
19 } else { // english is default
20 dict.open(Wt::WApplication::appRoot() + "dict.txt");
21 }
22
23 std::string retval;
24 int numwords = 0;
25 while (dict) {
26 std::getline(dict, retval);
27 numwords++;
28 }
29 dict.clear();
30 dict.seekg(0);
31
32 std::random_device rd;
33 std::mt19937 gen(rd());
34 std::uniform_int_distribution<> distribution(0, numwords);
36
37 while (selection--) {
38 std::getline(dict, retval);
39 }
40 std::getline(dict, retval);
41 for (unsigned int i = 0; i < retval.size(); ++i) {
42 if (retval[i] < 'A' || retval[i] > 'Z') {
43 std::cerr << "word " << retval << " contains illegal data at pos " << i << '\n';
44 }
45 }
46
47 return retval;
48}
Wt::Auth::Dbo::UserDatabase< AuthInfo > UserDatabase
Definition Session.h:22