2014-04-02 2 views
-1

으로 변환합니다. const char*을 인수로 취하지 만 가지고있는 데이터는 Datum(PostgreSQL)입니다.이 데이터는 Uint32DatumGetUint32() function을 사용하여 변환됩니다. 이제 const char* (C++)으로 변환해야합니다. 나는 온라인, 많은 다른 웹 사이트를 찾았지만 결정적인 대답을 얻지 못했다. 어떤 도움을 주시면 감사하겠습니다! 미리 감사드립니다.uint32를 const char * C++

편집 : 데이터를 전달해야하는 다른 기능이 있기 때문입니다. 현재 데이터 형식은 Uint32입니다. 그러나이 함수는 'const char *'를 매개 변수로 사용합니다. 그래서 내 추측은 Uint32를 char로 변환 한 다음 포인터를 사용하여 함수에 전달하는 것입니다. 그러나 나는 앞으로 어떻게 나아갈 지 확신하지 못한다. 희망이 당신이 더 잘 이해하는 데 도움이!

+0

을 변환해야? 더 구체적으로 말하십시오. 정수로 숫자를 문자열로 사용 하시겠습니까? 예 : 10035 값으로 '10035'? – Paranaix

+0

그래서이 Uint32를 keyval이라고합니다. const char *를 함수에 전달하려고합니다. – student001

+0

Uint32를 가리키는 const char *? 나는 그것을 얻을 수 있는지 잘 모르겠다. – jwav

답변

1

boost lexical_cast을 살펴보십시오. 나는 그것이 당신을 도울 것이라고 생각합니다.

+0

+1 Boost는 많은 것들에 대해 꽤 멋쟁이지만, 대부분의 사람들은 그것을 가지고 있지 않으며 설치하기가 어려울 수 있습니다. – jwav

1

싶은 것은

145 -> "145" 

그런 다음 sprintf가 * 전환을 숯불하기 위해 INT 일을 꽤 표준 방법입니다 경우. 그런 다음 새로 호출 된 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*