Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамический двумерный массив, Динамический двумерный массив 
:(
    Опции темы
FTTA
Дата 3.2.2012, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Двумерный массив типа char в который переносятся данные из структуры. Это кусочек пректа, что написана в CodeGear RAD Studio 2009. Оно компилируется без проблем, но при выполнении выдает ошибку доступа к памяти. Я тестил этот кусок в Borland C + + for DOS все работает нормально.

Подскажите почему не работает в CodeGear

Код

struct POLE
  {
  char name_file[50],name_r[50],name_kartinka[50],shlax_kartinka[50];
  POLE *next;
  int index;
  };


Переменная element является типа POLE (element POLE; element=new (POLE);)

Код

char **spusok;
int i,nn;
  spusok=new char*[kilkist];
  for(i=0;i<kilkist;i++);
    {
    spusok[i]=new char[50];
    }
  //======shas zamytum spusok=============
  i=0;
  while(element!=NULL)
    {
    strcpy(spusok[i],element->name_r);
    i++;
    element=element->next;
    }


Думал может конфликт возникает из-за strcpy(r1,r2). Пробовал еще так,но также не работает
Код

char **spusok;
int i,nn;
  spusok=new char*[kilkist];
  for(i=0;i<kilkist;i++);
    {
    spusok[i]=new char[50];
    }
  //======shas zamytum spusok=============
  i=0;
  while(element!=NULL)
    {

    for(nn=0;nn<50;nn++)
        {
            spusok[i][nn]=element->name_r[nn];
            if(element->name_r=='\0') break;
        }
    i++;
    element=element->next;
    }


 
PM MAIL   Вверх
feodorv
Дата 3.2.2012, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(FTTA @  3.2.2012,  19:32 Найти цитируемый пост)
  while(element!=NULL)
    {
    strcpy(spusok[i],element->name_r);
    i++;
    element=element->next;
    }

Отсутствует условие на i, оно может превысить значение kilkist.
Список элементов точно заканчивается нулевым указателем (element->next когда-нибудь примет значение NULL)?

Добавлено через 3 минуты и 24 секунды
kilkist может иметь нулевое значение.
Цитата(FTTA @  3.2.2012,  19:32 Найти цитируемый пост)
for DOS все работает

Это не показатель)))


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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