day4_字符串之键值对问题的实现
来源:互联网 发布:cleanmymac3破解版mac 编辑:程序博客网 时间:2024/05/17 04:49
键值对(”key = valude”)字符串,在开发中经常使用;
要求1:请自己定义一个接口,实现根据key获取valude;40分
要求2:编写测试用例。30分
要求3:键值对中间可能有n多空格,请去除空格30分
注意:键值对字符串格式可能如下:
“key1 =valude1”
“key2 = valude2
“key3 = valude3”
“key4 = valude4”
“key5 = “
“key6 =“
“key7 = “
int getKeyByValude(char *keyvaluebuf, char *keybuf, char *valuebuf, int * valuebuflen);
int main()
{
getKeyByValude(“key1 = valude1”, ” key1”,buf, &len);
}
//1、首先查找key是不是在母串中//2、看有没有等号//3、在等号后面去除空格int trimSpace11(char *str,char *newstr){ char *p = str; int i = 0; int j = 0; j = strlen(p) - 1; int count = 0; if(str == NULL && newstr == NULL) { return; } while(isspace(p[i]) && p[i] != '\0') { i++; } while(isspace(p[j]) && p[j] != '\0') { j--; } count = j - i + 1; strncpy(newstr,str+i,count); newstr[count] = '\0'; return 0;}int getKeyByValude(char *keyvaluebuf, char *keybuf, char *valuebuf){ char *p = NULL; int ret = 0; if(keyvaluebuf == NULL || keybuf == NULL || valuebuf == NULL) { ret = -1; printf("func getKeyByValude error:%d",ret); return ret; }//1、首先查找key是不是在母串中 p = keyvaluebuf;//初始化赋值指针变量 p = strstr(keyvaluebuf,keybuf);//找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。 //返回该位置的指针,如找不到,返回空指针。 if(p == NULL) { return -1; } //让赋值指针变量重新达到下一次检索的条件 p = p + strlen(keybuf);//2、看有没有等号 p = strstr(p,"="); if(p == NULL) { return -1; } //让赋值指针变量重新达到下一次检索的条件 p = p + strlen("=");//3、在等号后面去除空格 ret = trimSpace11(p,valuebuf); if(ret != 0) { printf("func trimSpace11 error:%d!",ret); return ret; } return ret;}int main(){ int ret = 0; int buf[1024]; int buflen = 0; char *keyandvalue = "key2 = valude2 "; char *key = "key2"; ret = getKeyByValude(keyandvalue, key, buf,&buflen); if(ret != 0) { printf("func getKeyByValude() error!"); } printf("buf:%s \n",buf); system("pause"); return 0;}
阅读全文
0 0
- day4_字符串之键值对问题的实现
- day4_字符串反转问题
- day4_字符串的相关库函数
- day4_字符串的两头堵模型
- wordpress内核揭秘之day4_到底数据库操作是怎么实现的
- day4_字符串挖取
- php将一个字符串转变成键值对数组的效率问题
- JavaScript中实现键值对的方法
- C实现的简单键值对
- Android 之 Spinner 键值对的绑定
- Android 之 Spinner 键值对的绑定
- Android 之 Spinner 键值对的绑定
- Android 之 Spinner 键值对的绑定
- 保存数据 之 键值对的设置
- Android 之 Spinner 键值对的绑定
- Redis 数据库之字符串键值对(String)
- javascript 实现键值对。
- C++实现键值对
- bzoj3924幻想乡战略游戏 动态点分治+暴力贪心
- 深夜牢骚
- qt 下 utf8编码与gbk编码的相互转换(附实例)
- Oracle 11g引用分区reference partition
- 最大连续子序列
- day4_字符串之键值对问题的实现
- nginx的介绍和安装
- Ajax-jQuery的Ajax使用
- PAT 1063. Set Similarity (25) 寻找交集。未解之谜。
- 人工智能集
- 给女神买电脑——计算机硬件的基本配置
- C语言基础 5 while循环 随机数
- java的强引用、软引用、弱引用、虚引用
- 机器学习第六周(四)