jayvien 最近的时间轴更新
jayvien

jayvien

V2EX 第 513743 号会员,加入于 2020-10-21 01:03:12 +08:00
jayvien 最近回复了
@nvioue 再过几年,如果你还在做 Windows 开发的话,你可能会理解我提的这个问题。
另外,utf8everywhere 里也有提到一些这方面的技巧,http://utf8everywhere.org/zh-cn
需要注意的是,虽然 setlocale 设置了 UTF-8 语言环境,_fsopen 仍然不支持 UTF-8 编码的文件路径,因此需要通过 _wfsopen 打开文件。
@lonewolfakela 经过一天的尝试,同意你的猜测,UTF-8 编码的字符串只有多字节系列的函数才能正确处理。原始需求是实现一个日志库,传多参,可以正常处理宽字节( UTF-16LE )和多字节( UTF-8 )的日志参数,并且写出 UTF-8 编码的文件。目前已经改成通过多字节系列的函数来实现了,_vscprintf 、vsprintf_s 、printf_s 、fprintf_s,写出文件的时候要用二进制模式,需要 UTF-8 BOM 头的话要自己写"\xEF\xBB\xBF"。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1580 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 16:48 · PVG 00:48 · LAX 08:48 · JFK 11:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.