【发布时间】:2017-01-15 18:25:38
【问题描述】:
根据 C99 规范,mbrtowc 函数返回 0
如果接下来的 n 个或更少的字节完成了多字节字符 对应于空宽字符(即存储的值)。
在编码的空字符后立即继续读取输入的最佳方法是什么?
我当前的解决方案是使用给定的编码转换空宽字符,以确定下次调用 mbrtowc 时要跳过的输入字节数。但可能有更优雅的方式来做到这一点。
另外,我想知道mbrtowc 这种行为背后的基本原理是什么。
【问题讨论】:
-
只是想知道为什么要使用宽字符?如果是处理 Unicode,那你就错了。
-
我要统计字符数。
-
我不明白。为什么不使用
wcslen()中的strlen()? XY 问题?随意添加您的代码。 -
因为我没有字符串,而是具有某些编码的文件。这些文件是逐字符解析的。
标签: c character-encoding c99