0

在我的项目中,我想将二进制字符串(如“010101010101”的字符串)存储到 memcached,然后在需要时将其取回,看来我可以成功地将字符串存储到 memcached,因为“get xxx”给了我一个类似于原始的结果一,但是当我在我的代码中使用“memcached_get”函数获取结果时,返回字符串与原始二进制字符串不同,返回字符串的长度比原始字符串短得多。

谁能告诉我为什么,是否可以将二进制字符串存储到 memcached 中?

谢谢你,期待你的回复~!

丹尼尔。

4

1 回答 1

0

嗨 Joachim 和 rekire,

我已经解决了这个问题。我在代码中使用了 libmemcache c++ 客户端,“memcache_get”调用的返回是 char*,我只是使用 string value = string(xxx) 将 char* 转换为字符串。但实际上二进制字符串包含 '\r\n' 因此我只是在第一个 '\r\n' 之前得到了字符串并丢失了其余数据,这是问题的关键。现在我只是使用 string.append(xxx, length) 来获取整个二进制序列。

rekire,感谢您的提示,问题的原因与您的建议相似。

谢谢~!

于 2013-05-07T22:05:54.647 回答