Файл содержит нелатинский контент и кодируется в UTF8. В существующем коде используется «fopen
», чтобы открыть файл, проанализировать его и называет мою функцию validate
нелатинским контентом и передает данные как char*
.Обработка кодированного char * utf8 char *
void validate(const char* str)
{
....
}
я должен сделать некоторые проверки на пройденный char
массив.
Приложение использует Sun C++ 5.11
и которое, я думаю, не поддерживает unicode
. (Я googled для поддержки unicode на Sun C++ 5.11, я не получил никаких правильных указателей на поддержку юникода. Поэтому я написал простую программу, чтобы проверить, поддерживает ли Sun C++ Unicode, и программа не скомпилировалась).
Как сделать валидацию на входе char*
? Можно ли использовать wchar_t
?
Все зависит от того, что вы подразумеваете под «валидацией» ... Как вы должны «проверять» текст? Какие требования вы предъявляете к созданию своей функции? –
Мне нужно проверить наличие специальных символов (требование имеет некоторые нелатинские символы для сравнения с такими, как «Æ», «ì»), последовательные пробелы. – NJMR
Может быть, [этот старый вопрос] (http://stackoverflow.com/questions/313555/light-c-unicode-library) может вам помочь? –