zoukankan      html  css  js  c++  java
  • 字符串的规范使用(二)

    键值对(”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);

    /***
    keyandvalue.c
    ***/
    #include<stdio.h>
    #include<string.h>
    
    int trimSpace(char *in,char *out)
    {
        int iRet = -1;
        int i = 0;
        int j = 0;
        int k = 0;
        char *tempIn = in;
    
        if(in == NULL || out == NULL)
        {
            printf("NULL is error
    ");
            return iRet;
        }
    
        i = 0;
        j = strlen(tempIn) - 1;
    
        while(isspace(tempIn[i]) && tempIn[i] != '')
        {
            i++;
        }
        while(isspace(tempIn[j]) && tempIn[j] != '')
        {
            j--;
        }
    
        while(i <= j)
        {
            out[k++] = tempIn[i++];
        }
    
        out[k] = '';
        iRet = 0;
        return iRet;
    }
    
    int getValuebyKey(const char *keyandvalue, const char *key, char *value)
    {
        int iRet = -1;
        char *str = keyandvalue;
    
        if(keyandvalue == NULL || key == NULL || value == NULL)
        {
            printf("Point is NULL 
    ");
            return iRet;
        }
    
        str = strstr(keyandvalue,key);
        if(str == NULL)
        {
            printf("strstr err 
    ");
            return iRet;
        }
    
        str = str + strlen(key);
        
        str = strstr(str,"=");
        if(NULL == str)
        {
            printf("strstr(str,"=") error
    ");
            return iRet;
        }
    
        str = str + strlen("=");
    
        iRet = trimSpace(str,value);
        if(iRet != 0)
        {
            printf("trimSpace error
    ");
            return iRet;
        }
        
        return iRet;
    }
    
    int main()
    {
        int iRet = 0;
        char *key = "key";
        char *keyvalue = "key =   value   ";
        char value[256];
        int len = 0;
    
        iRet = getValuebyKey(keyvalue,key,value);
        printf("value = %s
    ",value);
        return 0;
    
    }
  • 相关阅读:
    SAP模块
    生產製造管理模块
    .NET Framework 3.5 SP1安装时下载文件问题及精简方法2(转)
    .NET Framework 3.5 SP1安装时下载文件问题及精简方法(转)
    .net remoting构架(part 2)转
    vbs下一些取特殊路径的方法总结(转)
    SQL安装命令行详解(转)
    InstallShield Basic MSI工程常见问题解答(转)
    在64位平台使用SQL Server Compact(转)
    vbs 创建多级目录方法
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11604862.html
Copyright © 2011-2022 走看看