Здравствуйте, хочу поинтерисоваться, как можно перевести в С++ набор символов русского текста (дан массив заглавных букв) в прописные (tolower как я понял только для английских букв). Заранее благодарен.
Здравствуйте, kirby, Вы писали:
K>Здравствуйте, хочу поинтерисоваться, как можно перевести в С++ набор символов русского текста (дан массив заглавных букв) в прописные (tolower как я понял только для английских букв). Заранее благодарен.
Уже нашел. Кому интересно, пример кода:
for (int i=0;i<LenText;i++)
{
if(isascii(text[i]))
{text[i]=tolower(text[i]);}
else
{
if((text[i]>-1)||(text[i]<-32))
{text[i]=text[i]+32;
continue;}
if(text[i]==-88)
{text[i]=text[i]+16;
continue;}
}
}
Здравствуйте, kirby, Вы писали:
K>Здравствуйте, хочу поинтерисоваться, как можно перевести в С++ набор символов русского текста (дан массив заглавных букв) в прописные (tolower как я понял только для английских букв). Заранее благодарен.
Это в С только для английских.
В C++ в <locale> в tolower вторым параметром локаль.
Re[2]: Перевод символов русского текста в прописные
Здравствуйте, kirby, Вы писали:
K>>Здравствуйте, хочу поинтерисоваться, как можно перевести в С++ набор символов русского текста (дан массив заглавных букв) в прописные (tolower как я понял только для английских букв). Заранее благодарен.
K>Уже нашел. Кому интересно, пример кода: K>
Здравствуйте, kirby, Вы писали:
K>Здравствуйте, хочу поинтерисоваться, как можно перевести в С++ набор символов русского текста (дан массив заглавных букв) в прописные (tolower как я понял только для английских букв). Заранее благодарен.
для этого есть функция setlocale(). пользоваться ей надо так:
// сохранить старую локаль (как правило, "C")char* locale = setlocale(LC_ALL, NULL);
// Поставить свою локаль
setlocale(LC_ALL, "rus");
/*
сделать все, что нужно
*/
// и вернуть локаль на место
setlocale(LC_ALL, locale);
не важно плюсы это или нет. подробности в msdn, man и т.д.
Re[2]: Перевод символов русского текста в прописные