PDA

Показать полную графическую версию : Какой функцией можно поменять регистр символа?


Sharkky
24-09-2003, 07:40
:) Спасибо

unknown bug
24-09-2003, 11:15
Convert a string to lowercase
_strlwr, _wcslwr, _mbslwr

Convert a string to uppercase.
_strupr, _wcsupr, _mbsupr

ivank
24-09-2003, 19:54
unknown bug
не портабельно.

Sharkky
tolower(), toupper(). Вроде из string.h (<cstring> для плюсов).

bilytur
25-09-2003, 03:33
А для русских символов?
Или более общий вопрос для не английских?

Sarge
25-09-2003, 04:29
bilytur
Руками. Набей массив для перекодировки или сделай через IF. Массивом будет работать намного быстрее.

ivank
25-09-2003, 17:25
Sarge
Ага, конечно. Может сразу все функции стандартной библиотеки своими руками переписать?

bilytur
Нужно соответствующую локаль поставить: setlocale("имя локали"). Конкретное название локали зависит от языка, кодировки и системы/компилятора.

Sarge
27-09-2003, 14:07
ivank
Ты забыл сказать, что это только под винды, а не ANSI C ;)

ivank
28-09-2003, 14:18
Sarge
Да ну? http://www.google.com.ru/search?q=setlocale+ANSI+C

bgg0408
28-09-2003, 23:10
tolower(), toupper(). Вроде из string.h
Да, точно. Есть и в BC под DOS, и под GCC, и под VC, а также под WATCOM.

Sarge
29-09-2003, 02:35
ivank
Только интересно, откуда С знает все теблицы перекодировки ?

bgg0408
02-10-2003, 22:59
to Sarge
В смысле? Там же они уже забиты :)

ivank
03-10-2003, 20:35
bgg0408
Нет, вообще-то. Все возможные кодировки знать физически нельзя.

Sarge
CRT должна у системы спрашивать это. А уж система-то знает все локали установленные в неё.

Добавлено:

Под CRT подроазумевалось CRTL, C runtime-library, то есть.

bgg0408
04-10-2003, 03:17
to ivank
Абсолютно все конечно никто не будет поддерживать, но наиболее распространенные вполне возможно. В крайнем случае, вегда можно самому сделать таблицу перекодировки.




© OSzone.net 2001-2012