我正在使用hiredis。hiredis具有api:
void* redisCommand(redisContext *c, char *format, ...)如果格式是包含'\0‘的c#字符串,则格式将被截断。怎么解决这个问题?
发布于 2014-08-22 05:01:36
使用二进制安全命令:
redisCommand("set %b %b", key, keyLen, value, valueLen);发布于 2014-08-19 04:17:59
C和C++是不同的语言。
在C中,根据定义,字符串是一个连续的非空字符序列,后面跟着并包含一个空字符终止符。其他的都不是绳子。
如果您使用的是只接受C字符串的函数,那么其他函数都是有效的,这将是一个设计决策,而不是一个需要“修复”的"bug“。如果hiredis的源代码可供您使用,您可能可以通过查看该源代码获得更多的洞察力。
https://stackoverflow.com/questions/25375364
复制相似问题