键值对是什么?

键值对是什么?一 键值对问题 键值对 key value 顾名思义 每一个键会对应一个值 二 举个例子 身份证号和你本人的绑定关系 在系统中输入身份证号 键 都会对应一个小可爱 值 咱在登陆微信 游戏或外卖账号时 需要输入手机号验证身份 这时

大家好,我是讯享网,很高兴认识大家。

一、键值对问题:

键值对(“key = value”),顾名思义,每一个键会对应一个值。

二、举个例子

  • 身份证号和你本人的绑定关系,在系统中输入身份证号(键)都会对应一个小可爱(值)。
  • 咱在登陆微信、游戏或外卖账号时,需要输入手机号验证身份,这时,系统会向该手机号发送一条验证短信。这里的手机号码(键),对应的接收用户就是“值”。
    每个键对应着相应的值, 当按下相应的键时, 就会输出相应的结果,那么如何用程序实现呢?

三、代码实例:

(1)编写一个函数,利用函数实现功能,给出接口,主调函数调用;
(2)函数思想:
1、在字符串中查找是否含有关键字
2、再查找是否含有“=”
3、去掉值中的首尾空格

四、程序实现:

#include<stdio.h> #include<stdlib.h> #include<string.h> //一般情况下不要修改输入的内存块的值 int trimSpace_ok2(char *mybuf, char *outbuf)//去掉首尾空格函数 { int count = 0; int i = 0, j = 0; char *p = mybuf; j = strlen(p) -1; while (p[i]==' ' && p[i] != '\0') { i++; } while (p[j]==' '&& j>0) { j--; } count = j-i +1; memcpy(outbuf, mybuf+i, count); outbuf[count] = '\0'; return 0; } int getKeyByValude(char *keyvaluebuf, char *keybuf, char *valuebuf, int * valuebuflen) { char tmp[2048*10];//开辟足够的内存空间,用于存放 int ret=0; char *p=keyvaluebuf; if(keyvaluebuf==NULL||keybuf==NULL||valuebuf==NULL||valuebuflen==NULL) { ret=-1; return ret; } //第一步:在字符串中查找是否含有关键字 p=strstr(keyvaluebuf,keybuf); if(p==NULL) { return -1; } p=p+strlen(keybuf); //第二步:查找是否含有= p=strstr(keyvaluebuf,"="); if(p==NULL) { return -1; } p=p+1; 第三步:去掉首尾的空格字符串; ret = trimSpace_ok2(p, tmp);//调用函数实现 if (ret!= 0) { printf("func trimSpace_ok2() err:%d\n", ret); return ret; } strcpy(valuebuf, tmp); *valuebuflen = strlen(tmp); return 0; } void main() { int ret=0; //char value1[]="ORACLE_name="itcast";/*测试1 */ /*char value1[]="oracle_pwd= ";*//*测试2 */ char value1[]="oracle_pwd= ";/*测试3*/ char value1[]="orace_pwd= ";/*测试4*/ //char key1[]="ORACLE_name";/*测试1的关键字 */ //char key1[]="oracle_pwd";/*测试2 的关键字*/ char key1[]="oracle_pwd";/*测试3的关键字*/ char buf[100]={0};//必须初始化 int len=0; ret =getKeyByValude(value1,key1, buf, &len); if(ret!=0) { printf("func getKeyByValude() err ,ret=%d\n",ret); } printf("buf=%s\n",buf); printf("len =%d\n",len); getKeyByValude(value1,key1, buf, &len); system("pause"); } 

讯享网

五、测试结果:

<1>“ORACLE_name=itcast” “ORACLE_name” itcast


讯享网

图一
<2>“oracle_pwd=” “oracle_pwd”
图二
<3>“oracle_pwd= ” “oracle_pwd”
图三
<4>orace_pwd= , 报告出错

图四

小讯
上一篇 2025-02-28 08:34
下一篇 2025-04-11 14:32

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/42937.html