Ошибка команды клиента Redis

0

Я использую hiredis. hiredis имеет api:

  void* redisCommand(redisContext *c, char *format, ...)

Если в формате строка ac содержит '\ 0', формат усекается. Как это исправить?

Теги:
redis
hiredis

2 ответа

0
Лучший ответ

используйте двоичную безопасную команду:

redisCommand("set %b %b", key, keyLen, value, valueLen);
0

C и C++ - разные языки.

В C строка по определению является последовательной последовательностью непустых символов, за которой следует и включает нулевой символьный терминатор. Все остальное не является строкой.

Если вы используете функцию, которая принимает только строку C, ничего более недействительно, и это будет конструктивное решение, а не "ошибка", требующая "исправления". Если исходный код для hiredis доступен для вас, вы можете получить дополнительную информацию, изучив этот исходный код.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню