在我的项目中,我想将二进制字符串(字符串如“010101010101”)存储到memcached,然后在需要时将其恢复, 似乎我可以成功地将字符串存储到memcached,因为“get xxx”给了我类似于原始字符的结果, 但是当我使用“memcached_get”函数在我的代码中获取结果时,返回字符串与原始二进制字符串不同, 返回字符串的长度比原始字符串短得多。
谁可以告诉我为什么,是否可以将二进制字符串存储到memcached?
谢谢你,期待你的回复〜!
丹尼尔。
答案 0 :(得分:0)
嗨Joachim和rekire,
我已经解决了这个问题。 我在我的代码中使用了libmemcache c ++客户端,“memcache_get”调用的返回是char *,我只是使用string value = string(xxx)将char *转换为字符串。 但实际上二进制字符串包含'\ r \ n',因此我只是在第一个'\ r \ n'之前得到了字符串并丢失了其余的数据,这是问题的关键点。 现在我只使用string.append(xxx,length)来获取整个二进制序列。
rekire,感谢您的提示,问题的原因与您的建议相似。
谢谢〜!