Проверка орфографии на C++ осуществляется с помощью разнообразных готовых библиотек. Одна из таких библиотек - бесплатная библиотека hunspell.
Эту библиотеку можно применять для проверки орфографии текстов на многих языках, в том числе и на русском.
Для использования hunspell нужно скачать с официального сайта исходный код библиотеки (dll), скомпилировать его и подключить его к своему проекту. Также нужно скачать два файла со словарём.
Если нет времени компилировать исходный код, то можно скачать комплект готовых файлов с какого-нибудь сайта. Например, на этом сайте есть готовый комплект файлов для Microsoft Visual C++ и другой готовый комплект файлов для Borland C++ Builder.
Hunspell для Borland C++ Builder
Порядок действий по подключению библиотеки к проекту может быть примерно таким.
- Скачиваем архив с файлами и распаковываем его.
- Создаём новый проект в Borland C++ Builder и сохраняем проект в отдельную папку.
- Копируем в папку с проектом файлы hunspelldll.h, bcb-libhunspell.lib и папку hunspell
- В Project->Options... в С++ Compiler (bcc32)->Paths and Defines добавляем новый путь вида (путь до Вашего проекта)\hunspell. Например, C:\newproj\hunspell
- Добавляем код проекта по проверке орфографии:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include "hunspelldll.h" #include <conio.h> #include <iostream.h> int main(int argc, char* argv[]) { Hunspell *spellObj; // переменная hunspell char text[100]="привет"; // проверяемое на грамотность слово spellObj = (Hunspell *)hunspell_initialize("ru_RU.aff", "ru_RU.dic"); // инициализация hunspell для проверки текстов на русском языке int res = hunspell_spell(spellObj, text); // проверка слова cout<<res; // вывод результата 1, т.к. слово привет правильное getch(); // ожидаем пока пользователь программы нажмет кнопку } |
- Компилируем проект.
- В папку к скомпилированному проекту добавляем файлы libhunspell.dll, ru_RU.aff, ru_RU.dic.
Hunspell для Microsoft Visual C++
Порядок действий по подключению библиотеки к проекту аналогичен порядку для предыдущего компилятора.
- Скачиваем архив с файлами и распаковываем его.
- Создаём новый проект в Microsoft Visual C++.
- Копируем в папку с проектом файлы hunspelldll.h, libhunspell.lib и папку hunspell
- В Свойствах проекта в VC++ Directories добавляем новый путь вида $(PATH)hunspell.
- Добавляем код проекта по проверке орфографии:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include "stdafx.h" #include "hunspelldll.h" #include <conio.h> #include <iostream> int _tmain(int argc, _TCHAR* argv[]) { Hunspell *spellObj; // переменная hunspell char text[100]="привет"; // проверяемое на грамотность слово spellObj = (Hunspell *)hunspell_initialize("ru_RU.aff", "ru_RU.dic"); // инициализация hunspell для проверки текстов на русском языке int res = hunspell_spell(spellObj, text); // проверка слова std::cout<<res; // вывод результата 1, т.к. слово привет правильное getch(); // ожидаем пока пользователь программы нажмет кнопку } |
- Компилируем проект.
- В папку к скомпилированному проекту добавляем файлы libhunspell.dll, ru_RU.aff, ru_RU.dic.