Всё-таки я схалтурил и написал скорее на C, чем на C++. Конечно, раскидал всё по нескольким классам, немного повыпендривался с паттернами, но по духу это C. Надеюсь прокатит.
Например, как перевести string в wstring средствами STL я не понял. Начал читать про <locale> задолбался, бросил нафиг. Ограничился строчкой в начале программы:
std::locale::global(std::locale(""));
Ну а перевод сделал так:
void set_word(std::string const & word) { size_t len = mbstowcs(NULL, word.data(), word.length()); wchar_t * cvtbuf = new wchar_t[len]; mbstowcs(cvtbuf, word.data(), word.length()); m_word.assign(cvtbuf, len); delete [] cvtbuf; }
С файлами тоже работал через старые добрые fopen и т.п., не стал разбираться с STL.
Всё говорили кругом, что программистов очень не хватает. А вот попробуй устроиться...