함수의 반환 값을 저장하기 위해 char 배열을 작성하려고합니다. 다음 함수에서 데이터는 ***** valv **에 저장됩니다. 데이터에 액세스하기 위해 extern 변수를 작성하는 방법은 무엇입니까?C++ 3 차원 문자 배열을 사용하고 전달하는 방법은 무엇입니까?
int credis_lrange(REDIS rhnd, const char *key,
int start, int end, char ***valv)
{
int rc;
if ((rc = cr_sendfandreceive(rhnd, CR_MULTIBULK, "LRANGE %s %d %d\r\n",
key, start, end)) == 0)
{
*valv = rhnd->reply.multibulk.bulks;
rc = rhnd->reply.multibulk.len;
}
return rc;
}
해결 방법 : 모든 사람에게
char **elements;
int size = credis_lrange(this->redis,"object_2",600,603,&elements);
for (int i=0; i<size;i++) {
cout << "element: " << elements[i] << endl;
}
감사합니다!
많은 중복이 있습니다. http://stackoverflow.com/questions/917783/how-do-i-work-with-dynamic-multi-dimensional-arrays-in-c http://stackoverflow.com/questions/1874604/passing-an으로 시작하십시오. -array-of-arrays-in-c http://stackoverflow.com/questions/2003745/pointer-address-in-ac-multidimensional-array 그리고 다른 것들이 있습니다 ... – dmckee
그것은 당신의 질문에 직접 답하는 것이 아니라 배열은 C++에서 "비 우선적"이므로 STL 컨테이너 클래스 (아마도 벡터)를 사용해야합니다. – Mawg
cred lib는 C lib입니다. C++ 벡터를 C 언어로 사용할 수 있습니까? – dan