На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела C/C++: Базы данных
Модераторы: B.V.
  
    > Mysql нет ли утечки памяти? , mysql_fetch_row(res)
      Здравствуйте!

      В libmysql есть метод mysql_fetch_row, он возвращает указатель на массив указателей на char.
      Нигде документации нет, описания что его нужно очищать.

      Вопрос не приведет ли код(см ниже) к утечки памяти?

      ExpandedWrap disabled
            while ((row = mysql_fetch_row(res)))
            {
                for(int i = 0; i < num_fields; i++)
                {
                    m_out+=row[i]; m_out+=" | ";
                }
                m_out += "\r\n";
            }
      Сообщение отредактировано: aster_x -
        всё должно быть ок
          Все данные ты очищаешь потом при помощи mysql_free_result(res). Тогда утечки не будет
            Я их очищаю. Но только после того как перебрал все row.
              Цитата aster_x @
              Я их очищаю. Но только после того как перебрал все row.

              Всё верно. res у тебя - это просто двумерный массив, и ты с помощью mysql_fetch_row получаешь строки из этого двумерного массива =)
                Все, спасибо!
                Теперь все ясно.
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0595 ]   [ 17 queries used ]   [ Generated: 26.04.24, 03:00 GMT ]