【问题标题】:Check the first character of a string in a c macro检查c宏中字符串的第一个字符
【发布时间】:2013-04-16 10:10:12
【问题描述】:

我正在寻找创建一个宏来检查字符串的第一个字符是否是已定义的字符,宏将传递一些文本和一个字符,我想检查一下text 是作为字符传递的内容。最干净的方法是什么?

#define Check(Text, character) ((CHECK IF THE FIRST SPACE IS THE CHARACTER) ? True : False)

【问题讨论】:

  • 为什么要在宏中这样做?只需编写一个简单的函数来检查第一个字符并采取适当的行动。
  • @ThaMe90 - 在预处理期间进行意味着不必在运行时进行。在运行时执行检查的代码不需要或不存在,因此它不会失败或被利用:)

标签: c string parameters macros


【解决方案1】:
#define Check(Text, character) ((charachetr == Text[0]) ? True : False )

【讨论】:

    【解决方案2】:

    非常简单的方法:

    #define check(s,c) (s[0]==c)
    

    例如:

    #include <stdio.h>
    #define check(s,c) (s[0]==c)
    
    int main ( )
    {
        char * x = "test";
        if check(x,'t')
            printf("ok\n");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 2020-02-14
      • 2013-11-26
      相关资源
      最近更新 更多