postgresql — конвертирует uint32 в const char * Stack Overflow

У меня есть функция, которая принимает const char* в качестве аргумента, но у меня есть данные Datum(PostgreSQL), который я конвертирую в Uint32 с помощью DatumGetUint32() function, Теперь мне нужно преобразовать его в const char* в C++, Я посмотрел онлайн, много разных сайтов, но не получил окончательного ответа. Любая помощь будет оценена! Заранее спасибо.

Редактировать: это потому, что у меня есть различные функции, которые я должен передать данные. В настоящее время данные имеют форму Uint32. Однако функция принимает в качестве параметра const char *. Поэтому я предполагаю преобразовать Uint32 в char и затем передать его функции с помощью указателя. Но я не уверен, что делать дальше. Надеюсь, это поможет вам лучше понять!

-1

Решение

Взгляни на Boost lexical_cast. Я думаю, что это поможет вам.

1

Другие решения

Если то, что вы хотите сделать, это

145 -> "145"

затем sprintf это довольно стандартный способ перехода с int на char *. Тогда вам просто нужно разыграть только что сделанное char* как const char* когда вы вызываете свою функцию.

Пример:

char myString[10] = ""; // 4294967296 is the maximum for Uint32, so 10 characters it is
sprintf(myString, "%d", (long)myUint32); // where 'myUint32' is your Uint32 variable
my_function((const char*)myString); // where 'my_function' is your function requiring a const char*
1

По вопросам рекламы [email protected]