|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.05.2010, 23:05 | #1 |
Подтвердите свой е-майл
Регистрация: 05.04.2010
Сообщений: 76
|
Преобразование числа в символ
Здравствуйте господа программеры! Подскажите плиз кто знает, как сделать преобразование числа в символ на С++ Builder.Латиницу знаю, как преобразовывать
Char Str = (char)65; Результат будет равен “A” а когда берёшь число 193 выводит непонятный символ, а должен вывести символ “Б”. |
01.05.2010, 23:47 | #2 |
Пользователь
Регистрация: 05.04.2010
Сообщений: 56
|
может у вас не подключен русский язык на вывод
setlocale(LC_CTYPE,"Russian");
сout<<"Изучаю программирование" точка с запятой
|
02.05.2010, 15:30 | #3 |
Подтвердите свой е-майл
Регистрация: 05.04.2010
Сообщений: 76
|
Преобразование числа в строку
Пробовал setlocale(LC_CTYPE,"Russian"); Всё равно не получается.
|
02.05.2010, 15:58 | #4 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 15
|
Код:
|
02.05.2010, 17:13 | #5 |
Подтвердите свой е-майл
Регистрация: 05.04.2010
Сообщений: 76
|
Преобразование числа в символ.
void __fastcall TForm3::Button1Click(TObject *Sender)
{ setlocale(LC_ALL,"Russian"); Memo1->Text = (char)193; } не выводит. |
02.05.2010, 17:24 | #6 |
Пользователь
Регистрация: 02.05.2010
Сообщений: 60
|
int main()
{ setlocale(LC_ALL, "Russian"); std::cout << (char)193 << std::endl; } это будет работать только в Visual, а для того, чтобы в builder у тебя выводили русские символы, ты должен создать текстовый документ с кодировкой Ms-dos, туда забить следующую строку: "абвгдеёжзийклмнопрстуфхцчшщъыьэюяА БВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" Теперь скопируем наш текстовый документ в папку только что созданного проекта и переименуем этот текстовый документ в (по умолчанию) Unit1.cpp, заменив тем самым изначальный файл. а теперь функция, которая будет выводить тебе русские символы: const int N = 66; const char DosABC[N] = "" //Здесь были хорошие кракозябры, но, к сожалению, при копировании они ""; //испортились и я их удалил. Вы можете сделать их сами, как - см. выше const char WinABC[N] = "абвгдеёжзийклмнопрстуфхцчшщъыь эюя" "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" ; std::string ToDosStr(std::string input) { std::string output = ""; bool Ok; for (unsigned i = 0; i < input.length(); i++) { Ok = false; for (int j = 0; j < N; j++) if (input[i] == WinABC[j]) { output += DosABC[j]; Ok = true; } if (!Ok) output += input[i]; } return output; } и теперь можешь писать великим русским языком. std::cout << ToDosStr("лолололололололололололол олололололо"); |
02.05.2010, 17:38 | #7 |
Подтвердите свой е-майл
Регистрация: 05.04.2010
Сообщений: 76
|
понятно.Спасибо за ответ
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
преобразование числа в hex | fize | Помощь студентам | 20 | 27.11.2009 19:45 |
Преобразование VK в символ | Minimus | Win Api | 10 | 02.06.2009 01:37 |
Преобразование числа в строку | )Игнат( | Общие вопросы Delphi | 6 | 06.07.2008 09:32 |
Преобразование десятичного числа в двоичное. | Quize | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 12.04.2008 16:09 |
Преобразование числа с плавающей точкой в строку | Sibedir | Общие вопросы Delphi | 14 | 09.03.2008 21:48 |