Показать полную графическую версию : Какой функцией можно поменять регистр символа?
unknown bug
24-09-2003, 11:15
Convert a string to lowercase
_strlwr, _wcslwr, _mbslwr
Convert a string to uppercase.
_strupr, _wcsupr, _mbsupr
unknown bug
не портабельно.
Sharkky
tolower(), toupper(). Вроде из string.h (<cstring> для плюсов).
А для русских символов?
Или более общий вопрос для не английских?
bilytur
Руками. Набей массив для перекодировки или сделай через IF. Массивом будет работать намного быстрее.
Sarge
Ага, конечно. Может сразу все функции стандартной библиотеки своими руками переписать?
bilytur
Нужно соответствующую локаль поставить: setlocale("имя локали"). Конкретное название локали зависит от языка, кодировки и системы/компилятора.
ivank
Ты забыл сказать, что это только под винды, а не ANSI C ;)
Sarge
Да ну? http://www.google.com.ru/search?q=setlocale+ANSI+C
tolower(), toupper(). Вроде из string.h
Да, точно. Есть и в BC под DOS, и под GCC, и под VC, а также под WATCOM.
ivank
Только интересно, откуда С знает все теблицы перекодировки ?
to Sarge
В смысле? Там же они уже забиты :)
bgg0408
Нет, вообще-то. Все возможные кодировки знать физически нельзя.
Sarge
CRT должна у системы спрашивать это. А уж система-то знает все локали установленные в неё.
Добавлено:
Под CRT подроазумевалось CRTL, C runtime-library, то есть.
to ivank
Абсолютно все конечно никто не будет поддерживать, но наиболее распространенные вполне возможно. В крайнем случае, вегда можно самому сделать таблицу перекодировки.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.