Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Помогите с преобразованием типов  (Прочитано 622 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Milnadar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Помогите с преобразованием типов
« : 14 Сентября 2010, 16:07:57 »
При изучении mySQL столкнулся с прослемой.
MYSQL_ROW row;
  while (row = mysql_fetch_row(result) != NULL)
   {
     for (i = 0; i < mysql_num_fields (result); i++)
      {
       if (i > 0)
          fputc ('U', stdout);         
          printf ("%s", row[i]); // Программа вылетает вот тут с сообщением Sigmentation fault
      }
Заметил что даже при простой операции
int i;
i = 5;
 printf ("%s", i);

Выскакивает аналогичная ошибка.
« Последнее редактирование: 14 Сентября 2010, 23:35:56 от Владимир Николаевич »

Оффлайн ierofant

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: Помогите с преобразованием типов
« Ответ #1 : 14 Сентября 2010, 16:11:37 »
%s  - это спецификатор для строки. Если нужен спецификатор для int используйте %i.

Пользователь решил продолжить мысль 14 Сентября 2010, 18:45:33:
И вообще printf служит для вывода только стандартных типов C. А MYSQL_ROW насколько я помню, это какой-то массив. И мне непонятно, как именно вы его хотите вывести.
« Последнее редактирование: 14 Сентября 2010, 18:45:33 от ierofant »

 

Страница сгенерирована за 0.016 секунд. Запросов: 21.