Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не преобразовывается переменная! Помогите плиз, не преобразовать переменную 
:(
    Опции темы
Dreamuchiy
Дата 23.3.2008, 04:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 26.12.2006

Репутация: нет
Всего: -1



Хочу преобразовать переменную в символ, а оно как было так и сталось! Должна получиться буква "a" в Мемо из кода 65
Код

 Memo1->Clear();
        int a=65;
        IntToStr (a);
        Memo1->Lines->Add(a)


как преобразовать код переменной в БУКВУ?
--------------------
Мечтаю написать в карман Биллу Гейтсу... Или как минимум посмотреть крах Майкрософт...
PM MAIL   Вверх
andrew_121
Дата 23.3.2008, 04:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Ну ты чЁ творишь...? )))))))))
Ты же код 65 преобразуешь в строку, поэтому твой код абсолютно правильно рботает.
Вот один из вариантов:
Код

   int a=65;
   char str[32] = "\0";
   ...
   ...
   str[0] = a;
   printf( "%s\n", str ); // проверка...

Или так:
Код

   int a = 65;
   AnsiString str;
   str.resize(...);
   str[...] = a;



Это сообщение отредактировал(а) andrew_121 - 23.3.2008, 05:08


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
creatorcode
Дата 23.3.2008, 04:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 12.6.2006
Где: Ленинград

Репутация: нет
Всего: 4



Код

Memo1->Clear();
char a=65;
Memo1->Lines->Add(a);

andrew_121 Тогда так:
Код

int a=65;
char str[32];
str[0] = a;
str[1]="\0";
printf( "%s\n", str ); // проверка...

PM MAIL   Вверх
andrew_121
Дата 23.3.2008, 04:57 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(creatorcode @ 23.3.2008,  04:35)
Код

Memo1->Clear();
char a=65;
Memo1->Lines->Add(a);

andrew_121 Тогда так:
Код

int a=65;
char str[32];
str[0] = a;
str[1]="\0";
printf( "%s\n", str ); // проверка...

Не обязательно, обрати внимание:
Код

   char str[32] = "\0";

Да, кстати, твой код не скомпилиться:
Код

   str[1]="\0"; // <<<<<<<<<<<<< char* В char !!!

Учить ты МЕНЯ будешь !!! Вуууууууууууу...........

Это сообщение отредактировал(а) andrew_121 - 23.3.2008, 04:59


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
creatorcode
Дата 23.3.2008, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 12.6.2006
Где: Ленинград

Репутация: нет
Всего: 4



Согласен, очепятка.
Код

char str[1] = '\0';

К тому же вопрос был не по C, а по C++.
Так, что правильней будет так:
Код

int a=65;
string s;
s.push_back(a);


Это сообщение отредактировал(а) creatorcode - 23.3.2008, 05:29
PM MAIL   Вверх
korian
Дата 23.3.2008, 05:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 3
Всего: 17



Цитата(andrew_121 @  23.3.2008,  03:57 Найти цитируемый пост)
 char str[32] = "\0";

интересная запись, а такой код всегда будет всю строку нулями забивать или это зависит от реализации?

PM   Вверх
andrew_121
Дата 23.3.2008, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Цитата(korian @ 23.3.2008,  05:29)
Цитата(andrew_121 @  23.3.2008,  03:57 Найти цитируемый пост)
 char str[32] = "\0";

интересная запись, а такой код всегда будет всю строку нулями забивать или это зависит от реализации?

Незнаю, юзаю Вижуал, и gcc под Linux, все именно ТАК.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Dreamuchiy
Дата 23.3.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 26.12.2006

Репутация: нет
Всего: -1



Немножко не понятно. А если необходимо скажем вывести в Memo значение переменной преобразованой в код ACSLL (ИЛИ КАК ЕГО ТАМ) Причем алафит полностью по порядку? Вобщем значение переменной должно увеличиваться. Короче из кодов 65,66,67... должно быть соответственно a,b,c....  а переменная увеличиваться в цикле соответственно на 1, но с циклом все понятно а с преобразованием нет. если не сложно напишите с коментариями.
--------------------
Мечтаю написать в карман Биллу Гейтсу... Или как минимум посмотреть крах Майкрософт...
PM MAIL   Вверх
andrew_121
Дата 23.3.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: нет
Всего: 33



Код

char str['z' - 'a' + 1] = "\0";
for ( int i = 'a'; i < 'z'; i++ ) {
   str[i-'a'] = i;
}
printf( "str = %s\n", str );


>> abcdef.............

Вот что получится.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
586
Дата 23.3.2008, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 57
Всего: 146



Код
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    AnsiString s;
    for(char c = 'a'; c <= 'z'; ++c)
         s += c;
    ShowMessage(s);
}

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0745 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.