我想知道如何在C/C++中定义“isupper”宏。您能否提供与我相同的信息或向我指出可用资源。我尝试查看ctype.h,但无法弄清楚。
最佳答案
它是由实现定义的-每个供应商都可以并且通常这样做的方式有所不同。
最常见的通常涉及一个“特征”表-每个字符带有一个元素的数组,该元素的值是标志的集合,指示有关该字符的详细信息。一个例子是:
traits[(int) 'C'] = ALPHA | UPPER | PRINTABLE;
在这种情况下,isupper()类似于:
#define isupper(c) ((traits[(int)(c)] & UPPER) == UPPER)
关于c++ - C中的isupper的宏定义是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3403031/