zoukankan      html  css  js  c++  java
  • 慎用字符串常量

    字符串常量作为参数传给函数时遇到了问题:

    自己写了一个忽略大小写比较字符串的函数
    int Common_MyStrcmpNoCase(char *cpSrc, char *cpDes)
    {
        int iLen = strlen(cpSrc);
      
        if (iLen != strlen(cpDes))
        {
            return 1;
        }
       
        for (int i=0; i<iLen; i++)
        {
            if (tolower(cpSrc[i]) != tolower(cpDes[i]))
            {
                return 1;
            }
        }

        return 0;
       
    }

    当我这样使用时出现问题:
    char m_cpST[3];
    //有对cpST进行赋值的语句
    if (0==Common_MyStrcmpNoCase("23",m_cpST))
    {
    ...
    }
    发现cpSrc的内容始终为空,而不是我所希望的"23"

    这样调用,结果正确:
    char aa[] = "23";
    if (0==Common_MyStrcmpNoCase(aa,m_cpST))
    {
    ...
    }


  • 相关阅读:
    关于DRY原则
    类型之惑
    ThoughtWorks测试
    编程非易事
    瀑布与迭代的真实区别
    对TDD原则的理解
    自我练习
    C# CreateProcess的测试
    乱侃OOD
    复杂系统的五个属性
  • 原文地址:https://www.cnblogs.com/gaotaozhaolei/p/1131482.html
Copyright © 2011-2022 走看看