使用hiredis LPUSH 一个带空格的Json字符串到redis 会被分隔成多段的问题
2017-06-16 10:05
369 查看
今天遇到标题所示问题,花了将近一天终于找到了原因,原来是在执行命令前使用了 sprintf 函数导致的, redis 命令里面的字符串还是挺奇怪的,和我们平时的不一样,使用前如果命令里面有空格字符 谨记千万慎重使用sprintf 这样的函数,一般对应的库中都会有自己的格式化函数,最好用库里面带的,就这样,记录一下。
char szCommand[128] = {0};
char szErrStr[1024] = {0};
sprintf(szCommand,"EXISTS player:%u:%llu",zoneID,playerID);
redisReply* pReply = (redisReply*)excuteCmd(redisType,szCommand,szErrStr);
类似于这样 ,如果zoneID 是字符串 并且里面有空格,结果就悲剧了……
char szCommand[128] = {0};
char szErrStr[1024] = {0};
sprintf(szCommand,"EXISTS player:%u:%llu",zoneID,playerID);
redisReply* pReply = (redisReply*)excuteCmd(redisType,szCommand,szErrStr);
类似于这样 ,如果zoneID 是字符串 并且里面有空格,结果就悲剧了……
相关文章推荐
- redis简单使用及用JSON字符串的方式解决对象存储问题
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词(只使用循环,数组)
- 使用 EntityFramework后把一个对象序列化成json字符串引起循环引用的问题
- 华为机试题:输入两个超长整型构成的字符串,其间使用一个空格分隔,每个字符串最大长度为100个字符。求第一个整数除以第二个整数以后的余数。。
- 使用eval()解析JSON格式字符串应注意的问题
- 一个有趣的小测试——两个使用字符串描述的二进制数字相或的问题
- C语言编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 在C++中使用C中字符串数组的一个奇怪问题。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- Struts2中使用json遇到的一个小问题
- cocos2dx中使用的tolua关于字符串处理的一个问题
- 转:使用eval()解析JSON格式字符串应注意的问题
- 使用正则表达式将一个字符串中连续的多个(两个或者两个以上)替换为一个空格
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 一个C#面试问题,要求是将字符串中重复字符从第二个开始都去掉,空格除外。然后显示的时候,从后往前显示。
- 使用eval()解析JSON格式字符串应注意的问题
- 用一个函数实现将一行字符串中最短的单词输出。此行字符串从主函数传递给该函数。假设字符串中包含的单词以空格作为分隔符号,例如”Asia Games 2010 is held in GuangZhou.”,其中最短的单词是”is”和”in”。
- 使用eval()解析JSON格式字符串应注意的问题
- 解决android使用gson解析json字符串,并使用混淆编译方式打包apk遇到的问题