VC下实现fopen支持中文的方法
2023-06-13 09:15:37 时间
VC的fopen函数第一个参数是constchar*,一旦遇到中文文件名就难以应付了,如果中文是UTF8编码的话,我们还可以用下列代码将其转换为UNICODE,然后用_wfopen函数打开文件。
代码如下:
boolUTF8ToUnicode(constchar*UTF8,wchar_t*strUnicode) { DWORDdwUnicodeLen;//转换后Unicode的长度 TCHAR*pwText;//保存Unicode的指针 //wchar_t*strUnicode;//返回值 //获得转换后的长度,并分配内存 dwUnicodeLen=MultiByteToWideChar(CP_UTF8,0,UTF8,-1,NULL,0); pwText=newTCHAR[dwUnicodeLen]; if(!pwText) { returnfalse; } //转为Unicode MultiByteToWideChar(CP_UTF8,0,UTF8,-1,pwText,dwUnicodeLen); //转为CString wcscpy(strUnicode,pwText); //清除内存 delete[]pwText; returntrue; }
这个函数的用法如下:
wchar_tstrUnicode[260]; UTF8ToUnicode(streamName,strUnicode); FILE*fid=_wfopen(strUnicode,L"rb"); //FILE*fid=fopen(streamName,"rb");//此为原来的方法,遇到中文不能正确打开
上述函数仍有不够完善之处,如参数strUnicode的长度不能灵活设置,读者可根据自身需求进一步加以完善!
相关文章
- Microsoft Office 2019 Mac中文正式版(office全家桶)
- 【说站】python中文生僻字的识别
- 全球最大AI巨量模型,参数2457亿炼丹16天专注中文,打造者绝对让你意外
- Photoshop 2022 (PS 2022) 中文直装版安装教程--所有PS软件全版本!
- 交互式原型设计Axure软件中文激活版,Axure软件2023安装教程下载
- 使用ant提供的zip进行压缩和解压缩,支持中文详解编程语言
- Mysql 中文实现模糊查询的方法(mysql中文模糊查询)
- 掌握MySQL命令行输入中文的方法(mysql命令行输入中文)
- GDB与MySQL 的完美搭配——25字中文文章标题(gdbmysql)
- MySQL中文UTF8编码详解:解析25岁以下青年趋势(mysql中文utf8)
- MySQL中文客户端:让操作更轻松(mysql中文客户端)
- 25字中文文章标题:嵌入式Linux的调试技巧(嵌入式linux调试)
- 修复Linux中文显示乱码的简易方法(linux中文不显示)
- 25字中文文章标题MySQL 中 Inner 连接的使用方法(mysql中 inner)
- MySQL汉化下载指南,让你畅享中文数据库体验(mysql下载汉化)
- 解决MySQL输入中文问题的方法简介(mysql 不能输中文)
- Oracle中文码制转换的实现方法(oracle中文码制转换)
- 解决Redis中文乱码的方法(redis里面中文乱码)
- mysql中文排序注意事项与实现方法
- Python中使用中文的方法
- jquery的ajax()函数传值中文乱码解决方法介绍
- PHP实现通过中文字符比率来判断垃圾评论的方法
- js实现禁止中文输入的方法