c指针应用:键值对"key=value"字符串,在开发中经常使用
来源:互联网 发布:网络电视32寸多少钱 编辑:程序博客网 时间:2024/05/16 11:15
/*要求写一个函数实现如下功能
要求1:自己定义一个接口,实现根据key获取value
要求2:编写测试用例
要求3:键值对中间可能有多个空格,请清除空格
键值对可能如下
“key1= buf1 “;
“key2= buf2 “;
“key3= buf3 “;
“key4= buf4 “;
“key5= buf5 “;
*/
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<ctype.h> int trimspace(char *str, char *newstr)//除去buff前后空格{ char *phead = str; int i = 0; int j = strlen(phead) - 1; if (phead == NULL || newstr == NULL) { return -1; } while (isspace(phead[i])&& phead[i] != '\0') { i++; } while (isspace(phead[j]) && phead[j] != '\0') { j--; } int count = j - i + 1; strncpy(newstr, phead + i, count); newstr[count] = '\0'; return 1;}int getbuff(char *keybuff, char *key, char *buf){ char *p = keybuff;//指针初始化 //判断是否存在key p = strstr(p, key); if (p == NULL) { printf("There is no %s", key); return -1; } //判断等号是否存在 p = strstr(p, "="); if (p == NULL) { printf("There is no buff for %s", key); return -1; } //除去key对应字符子串的前后空格 p = keybuff+ strlen(key) + strlen("="); int ret=trimspace(p, buf); if (ret != 1) { printf("delete sapace fail"); return -1; } return 1;}void main(){ char *str[] = { "key1= buf1 " ,"key2= buf2 ", "key3= buf3 ", "key4= buf4 " ,"key5= buf5 " };// char *keybuf = "key2= buf2 ";// char *key = "key2"; char key[5]; char buf[50] = { 0 }; int ret,i; printf("Please input key(key1~key5:"); scanf("%s", key);// for (i = 0; i < 5; i++) switch (key[3]) { case '1':i = 0; break; case '2':i = 1; break; case '3':i = 2; break; case '4':i = 3; break; case '5':i = 4; break; } //ret = getbuff(keybuf, key, buf); ret = getbuff(str[i], key, buf); if (ret != 1) { printf("funtion getbuff err\n"); } else { printf("%s:%s\n", key, buf); }}
0 0
- c指针应用:键值对"key=value"字符串,在开发中经常使用
- c总结6 --- 在字符串键值对中提取Value(指针学习5)
- c总结7 --- 在字符串键值对中提取Value(指针学习6)
- C语言提取(key,value)键值对
- Android开发,建立具有键值对(key-value)关系的spinner
- HashMap数据引用时,增加key-value键值对
- 浅谈js的键值对key和value
- swift-08-使用键值对儿统计字符在字符串中出现的次数
- C#WinForm开发之在ComboBox、ListBox中加载键值对
- 在一个list列表中的多个dict字典按照键值对key-value来进行排序
- iOS开发7-KVO(Key-Value Observer)键值观察
- 【字符串】面试题之键值对(”key = valude”)字符串
- 【字符串】面试题之键值对(”key = valude”)字符串
- Key-Value Coding(键值编码)
- 在java中使用key-value型数据库Berkeley DB
- 在PHP中使用键值对数组构造JSON数据
- javascript中使用key-value
- R语言空间换时间算法、Hash键值对在字符串处理中的应用
- 【Leetcode】205. Isomorphic Strings
- 算法
- Python:数据文件的打开模式和操作方法
- 【Java语言程序设计(基础篇)第10版 练习题答案】Practice_9_4
- 11.3.5
- c指针应用:键值对"key=value"字符串,在开发中经常使用
- 算法训练 5-1最小公倍数
- win10,ubuntu双系统和win10,红帽双系统的安装的异同
- OI心得::学会经常使用类,重载运算符和库。
- nginx配置虚拟主机
- Matlab编程与数据类型 -- 开关语句switch/end
- CodeForces 762F. Tree nesting
- 【Android】Android中的RecyclerView的基本使用
- MaterialDesign主题出现闪退现象