VC的fopen函数第一个参数是const char*,一旦遇到中文文件名就难以应付了,如果中文是UTF8编码的话,我们还可以用下列代码将其转换为UNICODE,然后用_wfopen函数打开文件。
代码如下:
bool UTF8ToUnicode(const char* UTF8, wchar_t* strUnicode) { DWORD dwUnicodeLen; //转换后Unicode的长度 TCHAR *pwText; //保存Unicode的指针 // wchar_t* strUnicode; //返回值 //获得转换后的长度,并分配内存 dwUnicodeLen = MultiByteToWideChar(CP_UTF8,0,UTF8,-1,NULL,0); pwText = new TCHAR[dwUnicodeLen]; if (!pwText) { return false; } //转为Unicode MultiByteToWideChar(CP_UTF8,0,UTF8,-1,pwText,dwUnicodeLen); //转为CString wcscpy(strUnicode, pwText); //清除内存 delete []pwText; return true; }
这个函数的用法如下:
wchar_t strUnicode[260]; UTF8ToUnicode(streamName, strUnicode); FILE* fid = _wfopen(strUnicode, L"rb"); // FILE* fid = fopen(streamName, "rb");//此为原来的方法,遇到中文不能正确打开
上述函数仍有不够完善之处,如参数strUnicode的长度不能灵活设置,读者可根据自身需求进一步加以完善!
本文向大家介绍python实现支持目录FTP上传下载文件的方法,包括了python实现支持目录FTP上传下载文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现支持目录FTP上传下载文件的方法。分享给大家供大家参考。具体如下: 该程序支持ftp上传下载文件和目录、适用于windows和linux平台。 希望本文所述对大家的Python程序设计有所帮助。
本文向大家介绍VC++实现添加文件关联的方法示例,包括了VC++实现添加文件关联的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了VC++实现添加文件关联的方法。分享给大家供大家参考,具体如下: 用法如下: 希望本文所述对大家VC++程序设计有所帮助。
本文向大家介绍nginx下支持PATH_INFO的方法实例详解,包括了nginx下支持PATH_INFO的方法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了nginx下支持PATH_INFO的方法。分享给大家供大家参考,具体如下: 要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pathinfo不是nginx的功能,pat
本文向大家介绍VC创建圆角dialog的实现方法,包括了VC创建圆角dialog的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了VC创建圆角dialog的实现方法。分享给大家供大家参考,具体如下: 我们有时候需要圆角的对话框,要实现这样的效果,一般包括两步工作,第一步:将原有对话框的直角裁剪掉,第二步:为对话框画上圆角或者为对话框贴上一个圆角的图片。 第一步:我们在OnCreat
本文向大家介绍TensorFlow实现非线性支持向量机的实现方法,包括了TensorFlow实现非线性支持向量机的实现方法的使用技巧和注意事项,需要的朋友参考一下 这里将加载iris数据集,创建一个山鸢尾花(I.setosa)的分类器。 输出: Step #75 Loss = -110.332 Step #150 Loss = -222.832 Step #225 Loss = -335.332
本文向大家介绍VC中实现GB2312、BIG5、Unicode编码转换的方法,包括了VC中实现GB2312、BIG5、Unicode编码转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文主要以实例形式讨论了VC编译环境下,实现字符串和文件编码方式转换的方法,在linux下请使用Strconv来实现。具体方法如下: 一、文件编码格式转换 二、字符串编码格式转换 三、API 函数:MultiBy