memcache_get () дает ошибку сегментации - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть следующий простой код memcache :::::

memcached_return * rc = NULL;

char * sur = "SURBHI";

memcached_set (cacheClient, "SB", strlen ("SB"), sur, strlen (sur), (time_t) 0, (uint32_t) 0);

char * value1;

memcached_get (cacheClient,"SB", strlen ("SB"), 6, (uint32_t) 0, rc);

Вызов memcache_get вызывает ошибку сегментации.Отладчик дал следующее:

0 0x00007ffff79c434c в memcached_get_by_key () из /usr/lib/libmemcached.so.5

1 0x00007ffff79c454f в memcached_get () из /usr/licsob

Кто-нибудь сталкивался с подобной проблемой или имеет какое-либо представление о решении?

1 Ответ

1 голос
/ 28 июня 2012

Последние три параметра memcached_get должны быть указателями, через которые вы будете получать информацию, такую ​​как значение, длина и код ошибки.Смотрите ниже:

char *key = "key";
size_t value_length;
memcached_return_t ret;
uint32_t flags;
char *value = memcached_get(memc, key, strlen(key), &value_length, &flags, &ret);

if (ret == MEMCACHED_SUCCESS) {
  // ok
} else {
  // error
}
...