/* * strlwr — строку в нижний регистр, латиница + кириллица CP866. * * CP866: А-Я = 0x80..0x8F (а-п = +0x20 даёт 0xA0..0xAF) и * Р-Я = 0x90..0x9F (р-я = +0x50 даёт 0xE0..0xEF); Ё 0xF0 → ё 0xF1. * Solid-C совместимость (). */ #include #include char *strlwr(char *s) { char *p = s; while (*p) { if ((*p >= 'A' && *p <= 'Z') || (*p >= 0x80 && *p <= 0x8F)) *p += 'a' - 'A'; else if ((*p >= 0x90 && *p <= 0x9F)) *p += 0x50; else if ((*p == 0xF0)) *p = 0xF1; p++; } return s; }