![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Подтвердите свой е-майл
Регистрация: 05.04.2010
Сообщений: 76
|
![]()
Здравствуйте господа программеры! Подскажите плиз кто знает, как сделать преобразование числа в символ на С++ Builder.Латиницу знаю, как преобразовывать
Char Str = (char)65; Результат будет равен “A” а когда берёшь число 193 выводит непонятный символ, а должен вывести символ “Б”. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 05.04.2010
Сообщений: 56
|
![]()
может у вас не подключен русский язык на вывод
setlocale(LC_CTYPE,"Russian");
сout<<"Изучаю программирование" точка с запятой
|
![]() |
![]() |
![]() |
#3 |
Подтвердите свой е-майл
Регистрация: 05.04.2010
Сообщений: 76
|
![]()
Пробовал setlocale(LC_CTYPE,"Russian"); Всё равно не получается.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 01.05.2010
Сообщений: 15
|
![]() Код:
|
![]() |
![]() |
![]() |
#5 |
Подтвердите свой е-майл
Регистрация: 05.04.2010
Сообщений: 76
|
![]()
void __fastcall TForm3::Button1Click(TObject *Sender)
{ setlocale(LC_ALL,"Russian"); Memo1->Text = (char)193; } не выводит. ![]() |
![]() |
![]() |
![]() |
#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("лолололололололололололол олололололо"); |
![]() |
![]() |
![]() |
#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 |