初级会员

- 积分
- 95
- 金钱
- 95
- 注册时间
- 2012-11-11
- 在线时间
- 3 小时
|

楼主 |
发表于 2014-3-4 13:42:34
|
显示全部楼层
回复【6楼】Badu_Space:
---------------------------------
我已经试验过了。 如果在短文件名模式下,第一个正确,第二个错误。
如果在长文件名模式下,第一个错误,第二个正确。
如果想直接打开一个长文件名的话,可以这样写
f_open(&fil, L“1234567890.txt”, FA_READ|FA_OPEN_EXISTING);
或者
f_open(&fil, L“这是一个示例文本.txt”, FA_READ|FA_OPEN_EXISTING);
就是在文件名前加个L,告诉编译器,现在字符型占用两个字节,汉字也占用两个字节(应该就是UNICODE编码)。
在调用了f_open后,程序执行过程中会调用:
WCHAR ff_convert ( /* Converted code, 0 means conversion error */
WCHAR src, /* Character code to be converted */
UINT dir
)这个函数,把文件名转换成GBK格式。 |
|