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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2009, 08:16   #1
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию C++ Builder AnsiString преобразовать в Char

Как в билдере преобразовать AnsiString в Char и наоборот?
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 07.04.2009, 11:24   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
AnsiString str;
const char *c = "Превед, мирок";
str = c;
char *cstr = str.c_str();
pu4koff вне форума Ответить с цитированием
Старый 07.04.2009, 11:33   #3
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Спасибо большое.

P.S.

Я так понял, что AnsiString`у можно спокойно, без лишних действий, присваивать char ? (с присовением char`у AnsiString`а все понятно)
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 07.04.2009, 12:12   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

У AnsiString'a есть конструктор, котоырй принимает const char *.
Для строки: str = c будет генерироваться, как я понимаю, следующее:
Код:
AnsiString temp(c);
str = temp; // У AnsiString перегружен оператор присваивания для AnsiString и как там внутри всё дело будет не вникал
т.е. при таком присваивании будет неявно создаваться временный объект класса AnsiString
В общем по возможности лучше писать:
Код:
AnsiString str(c);
, а не:
Код:
AnsiString str;
str = c;
ЗЫ. Опять же в билдере не програмлю и особо не вникал в этот вопрос, так что это не более, чем мои предположения и возможно внутренне это всё как-то иначе работает

Последний раз редактировалось pu4koff; 07.04.2009 в 12:18.
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка cannot convert from 'char *' to 'char [100]' Stellvertreter Общие вопросы C/C++ 5 30.05.2010 00:02
из AnsiString в Char[] juden Общие вопросы C/C++ 6 20.05.2008 22:49
Есть таблица - В ней три поля int, char, char нужно чтобы данные заносились в таблицу Mysql Muahahaha PHP 8 27.03.2008 11:17
Тема AnsiString не раскрыта=) chipset Помощь студентам 3 21.02.2008 21:38
Преобразовать из string в array of char vitalik007 Общие вопросы Delphi 6 07.09.2007 01:15