Я написал функцию, которая расширяет isalnum
, чтобы распознавать кодировку UTF-8.
Может быть, есть более элегантный способ решить эту проблему?
Код выглядит следующим образом:
bool isalnumlaut(const char character) {
int cr = (int) (unsigned char) character;
if (isalnum(character)
|| cr == 195 // UTF-8
|| cr == 132 // Ä
|| cr == 164 // ä
|| cr == 150 // Ö
|| cr == 182 // ö
|| cr == 156 // Ü
|| cr == 188 // ü
|| cr == 159 // ß
) {
return true;
} else {
return false;
}
}
EDIT:
Я уже несколько раз тестировал свое решение, и, похоже, оно выполняет мою задачу. Есть сильные возражения?