#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h> /*=======================================================================================
键值对(”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);
}
==========================================================================================*/
int trimSpace(char *str,char *newstr)
{int ncount=0;int i=0,j=0;char *p=str;j=strlen(str)-1;if(str==NULL || newstr==NULL){printf("fun trimSpace() \n");return -1;}while(isspace(p[i]) && p[i]!='\0'){i++;}while(isspace(p[j]) && p[j]!='\0'){j--;}ncount=j-i+1;strncpy(newstr,str+i,ncount);  //函数原型char *strncpy(char *dest, char *src, int n)//把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回destnewstr[ncount] ='\0';return 0;
}int getKeyByValue(char *keyvaluebuf,char *keybuf,char *valuebuf)
{char *p=NULL; int ret=0;if(keyvaluebuf==NULL || keybuf==NULL || valuebuf==NULL){return -1;}//1.查找key在不在母串中p=keyvaluebuf;   //初始化辅助指针变量p=strstr(p,keybuf);if(p==NULL){return -1;}//让辅助指针变量  重新达到下一次检索的条件p=p+strlen(keybuf);//2.看有没有=号p=strstr(p,"=");if(p==NULL){return -1;}//让辅助指针变量  重新达到下一次检索的条件p=p+strlen("=");//3.在等号后面去除空格ret = trimSpace(p,valuebuf);if(ret!=0){printf("func trimSpace() err:%d \n", ret);return ret;}return ret;
}int main()
{int ret=0;char buf[1024]={0};char   *keyandvalue = "key2   =  valude2    ";char   *key= "key2";ret = getKeyByValue(keyandvalue,key,buf);if(ret!=0){printf("func getKeyByValue() err:%d \n",ret);return ret;}printf("buf:%s \n",buf);system("pause");return ret;
}

转载于:https://www.cnblogs.com/zhesun/p/4952477.html

C提高_day03_作业第三题相关推荐

  1. 2021年人工神经网络第四次作业 - 第三题Cifar10

    简 介: 在Paddle下使用最基本的BP网络以及LeNet网络结构,测试了Cifar10数据集合.但实际运行在测试集合上的效果始终没有突破0.3,具体原因还需要进行查找. 后来经过测试,发现问题出现 ...

  2. 【网页设计基础课】第十周文档流实验作业第三题

    第一,需要整体构出作业中盒子的HTML结构 <div class="row"><div>11</div><div>12</di ...

  3. 2021年春季学期-信号与系统-第一次作业参考答案-第三题

      本文是: 2021年春季学期-信号与系统-第一次作业参考答案 的参考答案. ▌第三题 判断下列各信号是否为周期信号, 如果是周期信号求出其基波周期. (1) cos⁡(10t)−cos⁡(30πt ...

  4. 2020年人工神经网络第二次作业-参考答案第三题

    如下是 2020年人工神经网络第二次作业 中第三题的参考答案. ➤01 第三题参考答案 1.题目分析 本题实际上是课件中例题的重现问题. 对于7个字符(三种字体),21个训练样本,它们分别属于7大类. ...

  5. NOIP2008提高组(前三题) -SilverN

    此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0 ...

  6. 2020PMP(第六版)每日三题

    PMP12月份考试已经顺利通过,这里将平时积累的每日三题发出来供大家分享:(结尾分享一点考试心得体会) 一.题目部分: 2020.9.27 三题: 1.项目是: A. 一组持续的活动中执行的一个过程或 ...

  7. 如何提高信奥的做题速度?

    如何提高信奥的做题速度? 这想必困扰了不少人. 今天我来聊聊,出现这种情况的可能原因: 对考试题目不熟练 1)对知识点本身不熟悉 2)解题思路不熟悉(思维不熟) 3)分析能力不足 做题能力不足(码力不 ...

  8. pmp每日三题(2022年3月4日)

    今日三题答案-BAC 1.项目合同规定了专业资源.在审查项目范围时,项目经理和承包商确定采购小组应选择工料合同(T&M),而不是固定总价(FFP)合同.项目经理应该怎么做? A.通知承包商合同 ...

  9. 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day6

    <团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day6 一.项目燃尽图 二.项目进展 [20172301郭恺第六天的进展] 第五天完成的任务: 点击牌会抬起.选中牌的图 ...

最新文章

  1. Exchange Server 2013就地电子数据展示
  2. 彩色图批量转换成灰度图、批量格式转换、批量重命名
  3. 3720: Gty的妹子树
  4. SAP Smartforms 条码打印
  5. Linux系统中病毒怎么解决
  6. 【Linux网络编程】组播
  7. selenium自动化测试_使用Selenium自动化测试处理多个浏览器选项卡
  8. python jsonpath
  9. Oracle压缩总结2— 估计表压缩效应
  10. java锁的对象引用
  11. 6.1倒计时锁(Countdown Latches)
  12. Team Project 设想 -- 基于用户信息的学术搜索
  13. 2021信创产业分类排行
  14. android WebView去广告 使用javascript脚本去除webView广告(两种思路)
  15. 推荐一个可能是最全的Venn图一站式绘制工具
  16. 如何提高思维能力(不止针对程序猿)
  17. analyze怎么优化oracle,[转] Oracle analyze 命令分析
  18. cm-14.1 Android系统定制(二):内置系统应用
  19. 1、JVM之走进类加载
  20. 机器人擂台的利剑_格斗机器人史上攻击力大排行,排名第一的果然是TA!

热门文章

  1. leetcode —— 216. 组合总和 III
  2. 去哪儿-12-city-search-logic
  3. 离散余弦变换原理及实现过程【转载】
  4. 如何在word中像LaTeX一样键入公式
  5. 数字图像处理--图像梯度算子的本质
  6. 高性能 php api 开发,ThinkPHP 3.2 性能优化,实现高性能API开发
  7. q learning 参数_Soft Q-Learning论文阅读笔记
  8. java cha r转string_JAVA String.format 方法使用介绍
  9. html写出五个文本标签,HTML的几个常用标签
  10. pcl如何设置colorbar_突然加更 | 子图、colorbar和标题