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

Ваш аккаунт

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

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

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

Как присвоить значение к объявленной переменной?

2.0K
31 августа 2008 года
oleg_159
77 / / 13.04.2008
Пример:
 
Код:
char *ch;
string s="help";
ch=s.c_str(); // НЕ РАБОТАЕТ


Почему не работает?
307
31 августа 2008 года
Artem_3A
863 / / 11.04.2008
Ты пытаешься указывать неконстантным указателем на константную память, что может служить причиной случайного изменения данных! Во всяком случае на сколько я понимаю.
15K
31 августа 2008 года
like-nix
46 / / 27.06.2007
 
Код:
char *ch;
string s="help";
ch=s.c_str(); // НЕ РАБОТАЕТ

Потому что массив указателей и строковый литерал это разные типы данных.
Еще Вы пытаетесь работать в С++ и в Си одновременно.
Лучше будет выбрать что-то одно, либо Си тогда работа осуществляется со строка с помощиь функций str* из string.h,
или С++ тогда <string> и возможно <cstring>.

Чтобы ваш кодзаработал нужно
писать так:
 
Код:
char ch[5]={0};
string s="help";
strcpy(ch, s.c_str());


или так
 
Код:
char *ch=(char*)new char[5];
string s="help";
strcpy(ch, s.c_str());
delete[] ch;
1
31 августа 2008 года
kot_
7.3K / / 20.01.2000
Цитата: oleg_159
Пример:
 
Код:
char *ch;
string s="help";
ch=s.c_str(); // НЕ РАБОТАЕТ


Почему не работает?


Потому что учится программировать на форуме не нужно. Ищи на форуме "работа с C-строками" и т.п.

15K
31 августа 2008 года
like-nix
46 / / 27.06.2007
------------
3
31 августа 2008 года
Green
4.8K / / 20.01.2000
Цитата: like-nix

Потому что массив указателей и строковый литерал это разные типы данных.


Чушь.
В примере нет "массива указателей" и строковые литералы упомянуты не к месту.

Цитата: like-nix

Чтобы ваш кодзаработал нужно
писать так:


Что бы код заработал, достаточно сделать указатель константным:

 
Код:
const char* ch;
    string s="help";
    ch=s.c_str();
2.0K
07 сентября 2008 года
oleg_159
77 / / 13.04.2008
Всем спасибо, буду разбираться в различии С и С++
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог