コード例 #1
0
ファイル: HashDumper.cpp プロジェクト: henrik-muehe/level0
int main(int argc,char* argv[]) {
	assert(argc==3);
	std::string path = (argc > 1) ? argv[1] : "/usr/share/dict/words";

	// Read dictionary into memory
	std::ifstream f(path);
	dict.insert(dict.end(),std::istreambuf_iterator<char>(f),std::istreambuf_iterator<char>());

	// Read dictionary
	static HashSet entries(300000);
	for (const char* start=dict.data(), *limit=dict.data()+dict.size(); start!=limit; ++start) {
		const char* wordStart=start;
		for (; start != limit && *start != '\n'; ++start);
		const char* wordEnd=start;
		entries.insert(StringRef(wordStart,std::distance(wordStart,wordEnd)));
	}
	entries.write(argv[2]);
}