Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

String to char

2.8K
24 апреля 2006 года
Unglued
119 / / 15.09.2005
как конвертировать string в char?
246
24 апреля 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Unglued
как конвертировать string в char?


AnsiString::c_str()

2.8K
24 апреля 2006 года
Unglued
119 / / 15.09.2005
Цитата:
Originally posted by GIZMO
AnsiString::c_str()


Пасиб

2.8K
25 апреля 2006 года
Unglued
119 / / 15.09.2005
А как это делается на самом деле описано тут пост от 23.04.2006 16:46.

Всем спасибо.
585
25 апреля 2006 года
honeybeer
297 / / 06.09.2004
[QUOTE]Originally posted by Unglued
А как это делается на самом деле описано тут пост от 23.04.2006 16:46.

 
Код:
string X;
char Y[100];
strcpy(Y, X.c_str());

это - прямой путь к AV, ты уверен, что длина X будет меньше 100?
Лучше так:
 
Код:
string X;
char *Y = new char[X.size() + 1];
strcpy(Y, X.c_str());
...
delete Y;
246
25 апреля 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by honeybeer
[QUOTE]Originally posted by Unglued
Лучше так:
 
Код:
string X;
char *Y = new char[X.size()];
strcpy(Y, X.c_str());
...
delete Y;


а еще лучше так:)
char *Y = new char[X.Length()+1];

585
25 апреля 2006 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by GIZMO
а еще лучше так:)
char *Y = new char[X.Length()+1];


однозначно так! :)

3
25 апреля 2006 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by GIZMO
а еще лучше так:)
char *Y = new char[X.Length()+1];


А вообще зачем? :)
Если нам неоюходима константная С-строка, то c_str() вполне достаточно.
А если нам надо произвести какие-то операции над строкой, то зачем нам нужна C-строка, не легче ли произвести все необходимые операции над классом-строкой?

585
25 апреля 2006 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by Green
А вообще зачем? :)
Если нам неоюходима константная С-строка, то c_str() вполне достаточно.
А если нам надо произвести какие-то операции над строкой, то зачем нам нужна C-строка, не легче ли произвести все необходимые операции над классом-строкой?


См. первый пост. Вне контекста, задача преобразования не ясна. Но при коде а ля:

 
Код:
string X;
char Y[100];
strcpy(Y, X.c_str());

можно наступить на грабли, причем на детские :)
3
25 апреля 2006 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by honeybeer
См. первый пост. Вне контекста, задача преобразования не ясна. Но при коде а ля:
 
Код:
string X;
char Y[100];
strcpy(Y, X.c_str());

можно наступить на грабли, причем на детские :)


Да я собственно по поводу заведения C-string вообще, а не поповоду её размера.

585
25 апреля 2006 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by Green
Да я собственно по поводу заведения C-string вообще, а не поповоду её размера.


хз, спроси у вопрошающего

246
25 апреля 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Green
А вообще зачем? :)
Если нам неоюходима константная С-строка, то c_str() вполне достаточно.
А если нам надо произвести какие-то операции над строкой, то зачем нам нужна C-строка, не легче ли произвести все необходимые операции над классом-строкой?


Привет Green!

Я думал ты меня забанил:)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог