Я использую hiredis
. hiredis
имеет api:
void* redisCommand(redisContext *c, char *format, ...)
Если в формате строка ac содержит '\ 0', формат усекается. Как это исправить?
используйте двоичную безопасную команду:
redisCommand("set %b %b", key, keyLen, value, valueLen);
C и C++ - разные языки.
В C строка по определению является последовательной последовательностью непустых символов, за которой следует и включает нулевой символьный терминатор. Все остальное не является строкой.
Если вы используете функцию, которая принимает только строку C, ничего более недействительно, и это будет конструктивное решение, а не "ошибка", требующая "исправления". Если исходный код для hiredis доступен для вас, вы можете получить дополнительную информацию, изучив этот исходный код.