fopen 与 unicode 文件名

2024-03-05

我必须使用一个接受文件名作为字符串的库(const char*)。内部文件打开方式为fopen。有没有办法让这个库接受 unicode 文件名?我可以用吗宽字符到多字节 http://msdn.microsoft.com/en-us/library/windows/desktop/dd374130%28v=vs.85%29.aspx在将 unicode 名称传递给库之前将其转换为 utf 吗?

一种可能的(不需要的)解决方案是更改库接口(char* -> wchar_t*)并替换fopen与特定于 Windows 的_wopen。另一种解决方案是使用创建文件的符号链接并将其传递给库,但它仅限于 NTFS 卷。


最好的方法是重写库...只需我的 2 美分。

但如果它只是要打开一个现有文件,您可以使用获取短路径名称 http://msdn.microsoft.com/en-us/library/windows/desktop/aa364989%28v=vs.85%29.aspx您可以通过这种方式找到现有的讨论here https://stackoverflow.com/questions/2951785/how-can-i-convert-a-unicode-path-to-a-c-string.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

fopen 与 unicode 文件名 的相关文章

随机推荐