【问题标题】:What does the type `rune_t` represent in C?`rune_t` 类型在 C 中代表什么?
【发布时间】:2018-12-02 15:40:44
【问题描述】:

在浏览我的 GCC 标头 stddef.h 时,我遇到了一种我从未听说过的类型,rune_t

#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
#if __BSD_VISIBLE
#ifndef _RUNE_T_DECLARED
typedef __rune_t        rune_t;     /* <--- Here it is */
#define _RUNE_T_DECLARED
#endif
#endif
#endif
#endif

根据周围的#ifs,我猜它是FreeBSD特有的类型,但它代表什么?

额外问题:它与runic alphabet 有什么关系吗?

【问题讨论】:

标签: c types freebsd


【解决方案1】:

人符文

4.4BSD rune 函数已被弃用,取而代之的是 ISO C99 扩展多字节和宽字符工具,不应在新应用程序中使用。考虑改用 setlocale(3)、mbrtowc(3)、wcrtomb(3)、fgetwc(3)、ungetwc(3) 和 fputwc(3)。

它曾经是处理扩展字符集的东西。异国情调的人物有时被开玩笑地称为“符文”,因此得名。这种类型可能支持也可能不支持实际的符文字母表。

【讨论】:

  • 啊!这就是 Go 的宽字符类型的名称rune
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 2015-01-26
  • 2016-12-03
  • 2011-01-09
  • 1970-01-01
相关资源
最近更新 更多