fopen创建文件名字符集有关问题

fopen创建文件名字符集问题
这个问题折腾了我数小时至今没办法解决......看看各位达人有什么好的办法

问题描述:
已知我要创建一个wchar_t类型文件名为:"第02話 「ゆうしゃめんま」 (BD 1920x1080 x264 AAC コメンタリ切替可).mp4"的文件
但是C语言中的fopen只能接受char*
于是我通过
nLen = wcslen(result)+1;  
WideCharToMultiByte(CP_ACP, 0, result, nLen, str, 2*nLen, NULL, NULL);

此时发现受限于ANSI范围限制'「'与'」'不能正确的转换系统则用?表示,很显然之后的FILE f = fopen(p->path,"wb+");失败。


问,如何才能正确的创建并打开类似含有上面那些字符的文件。OTL跪了


给上测试代码吧

wchar_t ch[100] = L"第02話 「ゆうしゃめんま」 (BD 1920x1080 x264 AAC コメンタリ切替可).mp4";
nLen = wcslen(ch)+1;
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK | WC_DEFAULTCHAR, ch, nLen, str, 2*nLen, NULL, NULL);
f = fopen(ch,"wb+");


------解决方案--------------------
http://msdn.microsoft.com/en-us/library/yeby3zcb(v=vs.80).aspx

_wfopen


CreateFileW
------解决方案--------------------
很多函数都有两个版本ansi和unicode版本;
遇到需要unicode字符的,尝试用w开头的函数
------解决方案--------------------
探讨
http://msdn.microsoft.com/en-us/library/yeby3zcb(v=vs.80).aspx

_wfopen


CreateFileW