169 похожих чатов

Добрый день. Не получается избавиться от такого варнинга: warning: cast from

pointer to integer of different size



Пытаюсь вытянуть int значение из Потгресса.

Сначала делал так:

...
int hour;
...
hour=PQgetvalue(my_res, i, 1);

Было вот такое предупреждение:
warning: assignment makes integer from pointer without a cast


Затем я добавил приведение к инту:

...
int hour;
...
hour=(int)PQgetvalue(my_res, i, 1);

И сообщение изменилось на
warning: cast from pointer to integer of different size


Подскажите пожалуйста как сделать правильно?

4 ответов

25 просмотров

Посмотрите на возвращаемый тип функции PQgetvalue. Она, наверное, возвращает указатель на int?

8921-*** ** ** Автор вопроса
smt model 1
Посмотрите на возвращаемый тип функции PQgetvalue....

Вот так описание функции выглядит: char *PQgetvalue(const PGresult *res, int row_number, int column_number); При приведении к (char*) значение странное присваивает 17950381 вместо 14

8921 *** ** **
Вот так описание функции выглядит: char *PQgetval...

Значит, функция возвращает указатель на char. Вам нужно написать что-то вроде char *temp = PQgetvalue(my_res, i, 1); int hour = *temp;

8921-*** ** ** Автор вопроса
smt model 1
Значит, функция возвращает указатель на char. Вам ...

Спасибо. Предупреждение ушло. Но пока значение int получить не вышло. В БД значение 14. Считывает значение 49. 49 - это код символа 1. т.е. получается из 14 считал код первого символа.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта