Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2010, 23:05   #1
AndreyK
Подтвердите свой е-майл
 
Регистрация: 05.04.2010
Сообщений: 76
По умолчанию Преобразование числа в символ

Здравствуйте господа программеры! Подскажите плиз кто знает, как сделать преобразование числа в символ на С++ Builder.Латиницу знаю, как преобразовывать
Char Str = (char)65;
Результат будет равен “A” а когда берёшь число 193 выводит непонятный символ, а должен вывести символ “Б”.
AndreyK вне форума Ответить с цитированием
Старый 01.05.2010, 23:47   #2
Crudelis
Пользователь
 
Аватар для Crudelis
 
Регистрация: 05.04.2010
Сообщений: 56
По умолчанию

может у вас не подключен русский язык на вывод
setlocale(LC_CTYPE,"Russian");
сout<<"Изучаю программирование" точка с запятой
Crudelis вне форума Ответить с цитированием
Старый 02.05.2010, 15:30   #3
AndreyK
Подтвердите свой е-майл
 
Регистрация: 05.04.2010
Сообщений: 76
По умолчанию Преобразование числа в строку

Пробовал setlocale(LC_CTYPE,"Russian"); Всё равно не получается.
AndreyK вне форума Ответить с цитированием
Старый 02.05.2010, 15:58   #4
confucius
Пользователь
 
Аватар для confucius
 
Регистрация: 01.05.2010
Сообщений: 15
По умолчанию

Код:
int main()
{
	setlocale(LC_ALL, "Russian");
	std::cout << (char)193 << std::endl;
}
у меня выводит "Б"
confucius вне форума Ответить с цитированием
Старый 02.05.2010, 17:13   #5
AndreyK
Подтвердите свой е-майл
 
Регистрация: 05.04.2010
Сообщений: 76
По умолчанию Преобразование числа в символ.

void __fastcall TForm3::Button1Click(TObject *Sender)
{
setlocale(LC_ALL,"Russian");
Memo1->Text = (char)193;
}
не выводит.
AndreyK вне форума Ответить с цитированием
Старый 02.05.2010, 17:24   #6
ZET78
Пользователь
 
Регистрация: 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("лолололололололололололол олололололо");
ZET78 вне форума Ответить с цитированием
Старый 02.05.2010, 17:38   #7
AndreyK
Подтвердите свой е-майл
 
Регистрация: 05.04.2010
Сообщений: 76
По умолчанию

понятно.Спасибо за ответ
AndreyK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразование числа в 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