作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图理解一段使用 __ctype_b_loc()
的代码。 ,问题是我不知道这个函数的目的是什么。
到目前为止,我发现它是在 ctype.h
中定义的。 .我还找到了它的原型(prototype)和实现。我仍然不知道这个功能是干什么用的。
有人可以启发我吗?
最佳答案
经过公平的研究,我想我可以回答自己这个问题。unsigned short int** __ctype_b_loc (void)
是一个函数,它返回一个指向“特征”表的指针,该表包含一些与每个字符的特征相关的标志。
这是带有标志的枚举:
来自 ctype.h
enum
{
_ISupper = _ISbit (0), /* UPPERCASE. */
_ISlower = _ISbit (1), /* lowercase. */
_ISalpha = _ISbit (2), /* Alphabetic. */
_ISdigit = _ISbit (3), /* Numeric. */
_ISxdigit = _ISbit (4), /* Hexadecimal numeric. */
_ISspace = _ISbit (5), /* Whitespace. */
_ISprint = _ISbit (6), /* Printing. */
_ISgraph = _ISbit (7), /* Graphical. */
_ISblank = _ISbit (8), /* Blank (usually SPC and TAB). */
_IScntrl = _ISbit (9), /* Control character. */
_ISpunct = _ISbit (10), /* Punctuation. */
_ISalnum = _ISbit (11) /* Alphanumeric. */
};
举个例子,如果你查找表
__ctype_b_loc()
返回 ascii 码为
0x30
的字符('
0
') 你将拥有
0x08d8
.
0x08d8=0000 1000 1101 1000 (Alphanumeric, Graphical, Printing, Hexadecimal, Numeric)
该表与
localchar
连接机器上安装的语言环境,因此与您在系统上可能获得的结果相比,该示例可能不准确。
关于reverse-engineering - __ctype_b_loc 它的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37702434/
我试图理解一段使用 __ctype_b_loc() 的代码。 ,问题是我不知道这个函数的目的是什么。 到目前为止,我发现它是在 ctype.h 中定义的。 .我还找到了它的原型(prototype)和
我正在为嵌入式设备编译 curl,并得到: main.c:(.text+0x375c): 对 __strdup' 的 undefined reference main.c:(.text+0x3818)
我是一名优秀的程序员,十分优秀!