char *unicodeToUtf8(const WCHAR *zWideFilename) WCHAR *mbcsToUnicode(const char *zFilename)

转载 2012年03月31日 13:45:37
char *unicodeToUtf8(const WCHAR *zWideFilename)   
{   
	int nByte;   
	char *zFilename;   
	nByte = WideCharToMultiByte(CP_UTF8, 0, zWideFilename, -1, 0, 0, 0, 0);   
	zFilename = (char *)malloc(nByte);   
	if(zFilename == 0)   
	{   
		return 0;   
	}   
	nByte = WideCharToMultiByte(CP_UTF8, 0, zWideFilename, -1, zFilename, nByte, 0, 0);   
	if( nByte == 0 )   
	{   
		free(zFilename);   
		zFilename = 0;   
	}   
	return zFilename;   
}   

WCHAR *mbcsToUnicode(const char *zFilename)   
{   
	int nByte;   
	WCHAR *zMbcsFilename;   
	int codepage = AreFileApisANSI() ? CP_ACP : CP_OEMCP;   
	nByte = MultiByteToWideChar(codepage, 0, zFilename, -1, NULL,0)*sizeof(WCHAR);   
	zMbcsFilename = (WCHAR *)malloc(nByte*sizeof(zMbcsFilename[0]));   
	if( zMbcsFilename==0 )   
	{   
		return 0;   
	}   
	nByte = MultiByteToWideChar(codepage, 0, zFilename, -1,    zMbcsFilename, nByte);   
	if(nByte == 0)   
	{   
		free(zMbcsFilename);   
		zMbcsFilename = 0;   
	}   
	return zMbcsFilename;   
}  

C++中char*与wchar_t*之间的转换

代码编译运行环境:VC++2012+Debug+Win321.问题描述char字符与wchar_t字符由于编码不同,所以在char*和wchar_t*之间使用强制类型转换达不到正确转换字符串的目的。考...
  • K346K346
  • K346K346
  • 2015年11月28日 11:46
  • 6606

Unicode编码下CString、char*、BSTR相互转换,char*、wchar_t*相互转换

更多精彩内容,请见:http://www.16boke.com 1、Unicode编码下CString转为char* 方法一:使用API:WideCharToMultiByte进行转换 #inclu...
  • one_in_one
  • one_in_one
  • 2014年05月20日 10:30
  • 5609

关于Char* ,CString ,WCHAR*之间的转换问题

GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*。我开始也被整得晕头转向,因为窗口编程所用往往是CString,用IO流读文件数据又得到char *。得益...
  • qq_23992597
  • qq_23992597
  • 2016年05月17日 17:18
  • 2142

UNICODE下宽字符的CString转换为const char *和char到WCHAR的相互转换

一、 使用函数_tcscpy_s: CString theString( "This is a test" ); int    sizeOfString = (theString.GetLe...
  • mail_cm
  • mail_cm
  • 2012年04月01日 09:55
  • 480

[error] MFC错误不能将参数1从"const char [3]"转换为"const wchar_t *"

MFC错误 不能将参数1从"const char [3]"转换为"const wchar_t *",虽然这类文章在百度很多,但我还是想以自己的视角写这类一些列自己遇到的错误的解决方法.最后希望该文章对...
  • Eastmount
  • Eastmount
  • 2014年02月26日 16:57
  • 8660

编码问题:unicode与utf-8,wchar_t与char

unicode与utf-8 wchar_t
  • freestyle4568
  • freestyle4568
  • 2015年11月02日 21:32
  • 1440

简单的wchar_t 和 char 转换类, 且包含与UTF8的转换

/*************************************************************** 简单的wchar_t 和 char 转换类, 且包含...
  • sailing0123
  • sailing0123
  • 2012年03月15日 18:45
  • 2023

wchar_t与char(系统默认编码集,非UTF8)的转换

最近开始看孙鑫老师的c++视频,在跟着视频做东西的时候,碰到了这个问题,视频中应该没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,但是我在自己电脑上编译时,就碰到了问题,就因为创建工...
  • q408384053
  • q408384053
  • 2012年04月29日 12:30
  • 2364

VC++中的char_wchar_T和TCHAR

  • 2014年05月23日 13:50
  • 57KB
  • 下载

VC++中的char,wchar_t,TCHAR

  • 2013年04月10日 15:51
  • 49KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:char *unicodeToUtf8(const WCHAR *zWideFilename) WCHAR *mbcsToUnicode(const char *zFilename)
举报原因:
原因补充:

(最多只允许输入30个字)