👍 g++ trie.cpp spellCheck.cpp
👍 ./a.out
dbg A
👍 cat dictionary
a ara are area
👍 cat trie.h
class Trie;
class Trie {
public:
Trie() : notFound(-1) {
}
Trie(char*);
private:
const int notFound;
};
👍 cat trie.cpp
#include <iostream>
#include "trie.h"
using namespace std;
Trie::Trie(char* word) : notFound(-1) {
cout << "dbg " << word << endl;
}
👍 cat spellCheck.cpp
#include <iostream>
#include <fstream>
#include "trie.h"
using namespace std;
char* strupr(char *s) {
for (char *ss = s;
(*ss = toupper(*ss)); ss++);
return s;
}
int main(int argc, char* argv[]) {
char fileName[25], s[80];
ifstream dictionary("dictionary");
if (dictionary.fail()) {
cerr << "Cannot open 'dictionary'"
<< endl;
exit(-1);
}
dictionary >> s;
Trie trie(strupr(s));
return 0;
}
ch7.4 Case Study: Spell Checker p373/391 of