-1

我有一个const char*作为参数的函数,但我拥有的数据是Datum(PostgreSQL),我将其转换为Uint32using DatumGetUint32() function。我现在需要将其转换为const char*in C++。我在网上查了很多不同的网站,但没有得到确凿的答案。任何帮助将不胜感激!提前致谢。

编辑:这是因为我必须将数据传递给不同的功能。目前,数据格式为 Uint32。然而,该函数将 'const char*' 作为参数。所以我的猜测是将 Uint32 转换为 char,然后使用指针将其传递给函数。但我不确定如何进一步进行。希望这可以帮助您更好地理解!

4

2 回答 2

2

如果你想做的是

145 -> "145"

然后sprintf是进行 int 到 char* 转换的一种非常标准的方法。然后,您只需在调用函数时将新制作的内容转换char*为 a 。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*
于 2014-04-02T13:28:36.157 回答
1

看看boost lexical_cast。我想它会对你有所帮助。

于 2014-04-02T12:07:29.080 回答