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

Ваш аккаунт

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

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

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

Присвоение (char) в C++, что не так в коде?

29K
07 ноября 2007 года
Anemona
8 / / 09.09.2007
 
Код:
int s=strlen(F1[j]);
char **f3=new char *;
char **f4=new char *;
for (i=0; i<s;i++){
    f3[0]=F1[j];
    f4=F2[j];
}

что тут неправильно?? Упорно не хочет присваивать, программа вылетает.

[COLOR="Red"]Первое ,что у тебя неправильно - это отсутствие оформления кода по Правилам раздела Студентам.Отредактировал.[/COLOR]модератор.
245
07 ноября 2007 года
~ArchimeD~
1.4K / / 24.07.2006
а все, скорее всего, потому, что размерности массивов f3 и f4 не заданы - только длина строки s и выделяется память только для строки с этой длиной, а не для двумерного массива. динамически выделять память для двумерного массива нужно так:

Код:
char **f3;        // указатель на указатель

try
{
    f3 = new char * [height];        // создаем массив указателей
}
catch ( bad_alloc xa)
{
    cerr << "error memory allocation\n";
    exit ( 1 );
}

for ( unsigned int i = 0; i < height; i++ )
{
    try
    {
        f3 = new char ;        // для кажлого указателя в массиве выделяем строку
    }
    catch ( bad_alloc xa)
    {
        cerr << "error memory allocation\n";
        exit ( 1 );
    }
}
320
07 ноября 2007 года
m_Valery
1.0K / / 08.01.2007
А для начала,перед тем как сотый раз поднимать один и тот же вопрос - использовать поиск по форуму,FAQ раздела Студентам и т.д.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог