我和fopen with unicode filename的情况相同,我想使用一个使用fopen的库。有问题的库是minizip,我需要它在Windows,UNIX(OSX),iOS和Android上使用UTF-8编码。 我阅读了答案,包括有关GetShortPathName的讨论,基本上结论是重写库。 有没有办法解决? 另外,我读到UNIX系统上的fopen函数可以处理UTF-8编码(与windows对应版本不同)。谁能证实这一点?
我真的很讨厌必须四处走动并在迷你夹中放置一些ifdef WINDOWS ...有没有人有其他选择?
答案 0 :(得分:2)
在Windows下,使用_wfopen
进行Unicode项目。请注意,它接受Unicode(UTF-16)字符串,而不是UTF-8。对于UTF-8,标准fopen
有额外选项ccs
:FILE *fp = fopen("newfile.txt", "rt+, ccs=encoding");