a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

VC下實現fopen支持中文的方法

2020-01-26 15:29:45
字體:
來源:轉載
供稿:網友

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的長度不能靈活設置,讀者可根據自身需求進一步加以完善!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 亚洲欧美久久 | 99re| 亚洲一区视频 | 999在线观看精品免费不卡网站 | 久久不色| 亚洲成人网在线 | 越南性xxxx精品hd | 黄色av网站在线免费观看 | 欧美性网 | 国产精品日产欧美久久久久 | 国产成人在线看 | 免费网站18 | 久久久久无码国产精品一区 | 人人干人人干 | 久草久 | 久久国产乱子伦精品免费午夜,浪货好紧 | 欧美1级 | 国产在线观看欧美 | 日本电影黄色 | 成人欧美一区二区三区黑人孕妇 | 美日韩在线 | 日韩精品中文字幕一区二区三区 | 免费成人在线网站 | 日韩中文字幕无码一区二区三区 | 成人av播放 | 国产精品久久久久久久久久东京 | 狠狠色 综合色区 | 亚洲一区二区三区久久 | 国产精品久久久久久亚洲调教 | 日韩一二三区视频 | 欧美日韩电影一区 | 中文字幕巨乳 | 久久精品在线免费观看 | 最新av片 | 欧美一级在线观看 | 亚洲国产精品一区二区久久 | 在线观看xxx | 久久免费小视频 | 怡红院免费在线视频 | 成人一级片视频 | 激情欧美一区 |