gpt4 book ai didi

c - 在 linux 中,hyphen 是一个多字符字符?

转载 作者:太空宇宙 更新时间:2023-11-04 11:10:13 25 4
gpt4 key购买 nike

我使用 c 程序尝试计算文本中的单词数。但是当文本是 man malloc >x 时,连字符也会被打印出来。最后,我发现连字符是一个多字符字符。谁能告诉我连字符的 ascii。它大约在 man malloc >x 的第 17 行。

最佳答案

首先,如果你不给出字符,我们无法知道它是什么。手册页总是被重新格式化和修改以适应显示的上下文。

i find the hyphen is a multi-character character. who can tell me the hyphen's ascii.

如果是多字符字符,那么就不是ASCII,而是unicode。我的猜测是:


这是unicode字符8208。提示,在python3中运行:

>>> print(ord('–'))
8208

现在要处理这个问题,您需要包含 wchar.h,使用 wchar_t* 字符串并使用 wcslen() 计算字符数.因为你喜欢阅读手册:

作为一个片段:

const wchar_t* s = "This is an hyphen: `–` !";
printf("%d", wcslen(s));

N.B.:为了避免联机帮助页显示中的单词连字符,您可能需要将 COLUMNS 环境变量设置为非常大的值;-)

N.B.2:您可能还想使用 nroff -mandoc/usr/share/man/man3/malloc.3 并查看 nroff 选项以更好地适合您的用法,并避免连字符。

关于c - 在 linux 中,hyphen 是一个多字符字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23546272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com