关于fprintf使用%ls格式说明符并设置精度时打印宽字符串的行为问询
关于fprintf使用
%ls格式说明符并设置精度时打印宽字符串的行为问询 我特意去翻了C标准的C17草案文档N2176,里面7.21.6.1.8章节把这块的规则讲得明明白白,给你直接贴出来参考:
如果未指定精度,对应的宽字符数组必须包含一个空宽字符作为终止符。
如果指定了精度,写入的字节数(包括可能存在的移位序列在内)不能超过这个精度值;而且,如果为了达到精度给定的多字节字符序列长度,函数需要访问数组末尾之后的下一个宽字符的话,那这个宽字符数组里也必须包含一个空宽字符。
备注:内容来源于stack exchange,提问作者Cinverse
相关产品推荐
相关产品推荐

