首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis客户端命令错误

Redis客户端命令错误
EN

Stack Overflow用户
提问于 2014-08-19 03:42:29
回答 2查看 331关注 0票数 0

我正在使用hiredishiredis具有api:

代码语言:javascript
复制
  void* redisCommand(redisContext *c, char *format, ...)

如果格式是包含'\0‘的c#字符串,则格式将被截断。怎么解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-22 05:01:36

使用二进制安全命令:

代码语言:javascript
复制
redisCommand("set %b %b", key, keyLen, value, valueLen);
票数 0
EN

Stack Overflow用户

发布于 2014-08-19 04:17:59

C和C++是不同的语言。

在C中,根据定义,字符串是一个连续的非空字符序列,后面跟着并包含一个空字符终止符。其他的都不是绳子。

如果您使用的是只接受C字符串的函数,那么其他函数都是有效的,这将是一个设计决策,而不是一个需要“修复”的"bug“。如果hiredis的源代码可供您使用,您可能可以通过查看该源代码获得更多的洞察力。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25375364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档