@dimastd

Работа с MySQL из программы на си?

Здравствуйте. Сейчас потихонечку постигаю СИ (ОС линукс) и вот возник вопрос:
Мне нужно прочитать из БД строку со значениями, делаю всё стандартно, как описано в множестве копипаста-мануалов:

...
   while((row = mysql_fetch_row(res))) {
      for (i=0 ; i < mysql_num_fields(res); i++)
      printf("%s\n",row[i]);
   }


Результат печатается, всё хорошо. Но как мне сделать, чтоб результат не печатался, а помещался в какую-нибудь переменную (массив), которую я в дальнейшем смогу использовать?

То есть, например у меня есть некий массив - char massiv[10] , как мне в него засунуть полученое от MySQL?
(или может нужен какой-то другой тип переменной?)
Типа вот так, но так не работает:
while((row = mysql_fetch_row(res))) {
      for (i=0 ; i < mysql_num_fields(res); i++)
      massiv += row[i];
   }

Пишет - ошибка: invalid operands to binary + (have «char[10]» and «char *»)

Понимаю, что это что-то элементарное, но всё же подскажите пожалуйста... Если можно с пояснением. Зараннее благодарю.
  • Вопрос задан
  • 1397 просмотров
Решения вопроса 1
@dimastd Автор вопроса
В общем пока сделал вот так:

char str1[3];
char str2[50];

while((row = mysql_fetch_row(res))) {
    for(i=0 ; i < mysql_num_fields(res); i++)
      {
        sprintf(str1,"%s ",row[i]);
        strcat(str2, str1);
      }

printf("str2: %s", str2);


П.С. В учебниках, информация подаётся трудным для восприятия языком - " ...Указатель - это адрес указуемой переменной. ...Адрес на указатель можно передать другому указателю... Указатель на один тип можно преобразовать в указатель на другой тип, другого указателя...
Компилятор изменить параметры адресной арифметики, а также операции выборки даных по указателю... Разница в указателях на данные разных типов состоит только в размерах указуемых типов..."
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Рано Вы полезли в базы данных. Вернитесь к началам, изучите структуры данных (тот же массив) и работу с ними. Без понимания основ в C делать нечего.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы