【字符串】面试题之键值对(”key = valude”)字符串
题目:
键值对(”key = valude”)字符串,在开发中经常使用;
要求1:请自己定义一个接口,实现根据key获取valude;40分
要求2:编写测试用例。30分
要求3:键值对中间可能有n多空格,请去除空格30分
注意:键值对字符串格式可能如下:
“key1 = value1”
“key2 = value2“
“key3 = value3”
“key4 = value4”
“key5 = value5“
“key6 =value6“
“key7 = value7“
//头文件
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
//处理函数
int getKeyByValude(char *keyvaluebuf, char *keybuf, char *valuebuf, int * valuebuflen)
{int i=0,j=0;//循环变量char *p;//指向第一个字符int count=0;//value的长度int len=0;assert(keyvaluebuf!=NULL);p=strstr(keyvaluebuf,keybuf);//找到keyif (p==NULL){return 0;}p=strchr(p,'=');p=p+1;//指针p指向“=”后面的字符len=strlen(p);j=i+len-1;while (isspace(p[i])&&p[i]!='\0') {i++;}while (isspace(p[j])&&j>0)//p指向value的尾字符{j--;}count=j-i+1;memcpy(valuebuf,p+i,count);valuebuf[count]='\0';*valuebuflen=count;return 1;
}//测试
int main()
{char buf1[20];char buf2[20];char buf3[20];int len1,len2,len3;char *p1="key1 = valuddsddsde1 ";char *p2="key2 = valu8";char *p3="key3 = valud 9dsde1 ";if(getKeyByValude(p1, "key1", buf1, &len1)){printf("原字符串:%s,目标字符串:%s, 长度:%d\n",p1,buf1,len1);}if (getKeyByValude(p2, "key2", buf2, &len2)){printf("原字符串:%s,目标字符串:%s, 长度:%d\n",p2,buf2,len2);}if (getKeyByValude(p3, "key3", buf3, &len3)){printf("原字符串:%s,目标字符串:%s, 长度:%d\n",p3,buf3,len3);}return 0;
}
【字符串】面试题之键值对(”key = valude”)字符串相关推荐
- hash表--c语言 字符串键值配对——(key, value)
c语言键值配对--(key, value) 看一个C++项目时,其中解析配置文的部分引发了我的思考. 配置文件问普通字符文件,内容都是类似 如下: ipaddr=127.0.0.1 port=888 ...
- 键值的 key 和 value 允许为null吗
总结: HashMap对象的key.value值均可为null. HahTable对象的key.value值均不可为null. 两者的的key值均不能重复,若添加key相同的键值对 ...
- python遍历字典键值做变量名 字符串做变量名
目录 1. exec 2. vars() 3. 全局变量globals() 感谢! [简书]Python中如何将字符串作为变量名 1. exec exec执行字符串命令.目前var和globals都不 ...
- C语言以字符串为索引求数组值,C05 C语言字符串和数组
目录 数组 字符串 数组 概念 数组是有序数据的集合. 数组中的每一个元素属于同一个数据类型. 通过数组名和下标唯一确定数组中的元素. 一维数组的定义 语法格式 数据类型 数组名[常量表达式] 例 ...
- Redis中字符串string数据类型(保存(设置键值、过期时间、设置多个键值、追加值)、获取(获取单一键值、获取多个键值))
字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis 中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的V ...
- 图片base64转码,本地和网络图片均可,类对象转map,类对象转键值对字符串
1. 本地图片转换成base64 /*** 本地图片转换成base64字符串** @param imgFile 图片本地路径* @return base64字符串* @author szs* @da ...
- 通过Value获取Map中的键值Key的四种方法
1 简介 我们都知道Map是存放键值对<Key,Value>的容器,知道了Key值,使用方法Map.get(key)能快速获取Value值.然而,有的时候我们需要反过来获取,知道Value ...
- React学习(3)——列表、键值与表单
为什么80%的码农都做不了架构师?>>> 本文记录了在官网学习如何使用JSX+ES6开发React的过程. . 全文共分为3篇内容: JSX语法与React组件 状态.事件与动 ...
- php 两个数组键名比较,php array_intersect_assoc 比较两个数组的键名和键值,并返回交集...
先来看一下array_intersect_assoc函数的语法 array array_intersect_assoc ( array $array1 , array $array2 [, array ...
最新文章
- ASP.Net面向对象思想
- 无线网络国际会议排名(zz)
- 算法相关(2)-单向链表
- Promise之异步调用
- 如何在matlab里输入复杂公式_在MATLAB作图中输出漂亮的公式
- 案例分享丨红外自动感应门设计与实现详解
- mysql group 索引失效_介绍mysql索引失效的情况
- pandas小记:pandas数据规整化-缺失、冗余、替换
- caffe的python接口学习(4):mnist实例---手写数字识别
- 如何在csdn写博客
- 如何来优化招聘类网站-SEO教学
- 受移动竞争所致,联通的宽带用户大跌,电信将面临同样遭遇
- linux/debian安装wps以及缺失字体,亲测可用
- 小米发布会的米8探索者——很吓人的技术分析
- 基于Django框架的网络选课管理系统
- HTTP GET 请求在请求体中带参数的问题
- 同步多个 git 远程仓库
- LabVIEW32位和64位的兼容性
- 微信小程序自定义编译模式
- 【C语言/C++程序员编程】一小时做出来的数字雨(一颗开花的树)!
热门文章
- 蓝桥2021模拟真题 (跳跃 )DFS
- [Python] * 和 ** 的用法
- jquery中select操作append、prepend、remove、find、val、get、selectedIndex、attr、option
- 图像处理十:图像反色
- 贺利坚老师汇编课程36笔记:[BX+SI+IDATA]和[BX+DI+IDATA]寻址
- 在 Azure Web 应用中创建 PHP 应用程序
- 基于遗传算法的高校排课系统研究
- petri网学习笔记--stochastic petri net分类
- Sql 语句:显示 Sql Server 中所有表中的信息
- [转载] python+opencv图像处理:numpy数组操作