VC++/MFC中WCHAR *转化为char *的方法,即宽字符和普通字符互相转化【已解决】

1.wchar *转 char *

char *wtoc(wchar_t *wText)
{
	DWORD dwNum = WideCharToMultiByte(CP_ACP, NULL, wText, -1,NULL, 0, NULL, FALSE);//把第五个参数设成NULL的到宽字符串的长度包括结尾符
	char *psText = NULL;
	psText = new char[dwNum];
	if(!psText)
	{
		delete []psText;
		psText = NULL;
	}
	WideCharToMultiByte (CP_ACP, NULL, wText, -1,psText, dwNum, NULL, FALSE);
	return psText;
}

2. char *转wchar *

wchar_t *ctow(char *sText)
{
	DWORD dwNum = MultiByteToWideChar (CP_ACP,  0, sText, -1, NULL, 0);//把第五个参数设成NULL的到宽字符串的长度包括结尾符

	wchar_t *pwText = NULL;
	pwText = new wchar_t[dwNum];
	if(!pwText)
	{
		delete []pwText;
		pwText = NULL;
	}
	unsigned nLen = MultiByteToWideChar (CP_ACP, 0, sText, -1, pwText, dwNum+10);
	if (nLen >= 0)
	{pwText[nLen] = 0;}
	return pwText;
}
时间: 2024-10-24 14:58:40

VC++/MFC中WCHAR *转化为char *的方法,即宽字符和普通字符互相转化【已解决】的相关文章

MFC中CString转化为char*

char* convertCStringToChars(CString string) { int nLength=string.GetLength(); char *c=new char[nLength+1]; memset(c,0,nLength+1); WideCharToMultiByte(CP_ACP,0,string,nLength,c,nLength,NULL,NULL); return c; }

mfc中CString转化为string的方法

LL(1)分析法实验的mfc做到最后因为CString转化为string的问题卡了一个多小时,也是惨,网上各种方法找过都不行.幸亏最后还是找到几行代码搞定了.特此mark一下. USES_CONVERSION; char* s_char = W2A(m_in); inString = s_char;

在VC/MFC中嵌入Google地图——图文并茂

最近需要实验室需要将在无人机地面站中嵌入地图,在网上找了很多资料,终于有些眉目了, 首先,做这个需要用到的知识有,MFC控件.MFC类库.JavaScript脚本语言,Google API.Google离线地图:由于google离线地图不怎么会,首先从google在线地图开始. 下面总结一下这几天搞google地图的步骤,有附图,对MFC和JS脚本语言不懂的同学有用. 在线Google 地图步骤: (1).建立基于对话框的MFC工程. 由于我对MFC基本不了解,所以从网上下载了个例子,但是不知道

MFC中cstring,string和char[]的相互转化

int 转 CString:CString.Format("%d",int);...............................string 转 CString CString.format("%s", string.c_str()); 用c_str()确实比data()要好. .......................................char* 转 CString CString.format("%s", cha

MFC中CTime获取日期时间的方法

MFC中CTime类的功能非常强大,可以获取年.月.日.小时.分钟.秒.星期等等,最最重要的是可根据需要去格式化.下面是具体的使用方式: ① 定义一个CTime类对象 CTime time; ② 得到当前时间 time = CTime::GetCurrentTime(); ③ GetYear( ),GetMonth( ), GetDay( ), GetHour( ), GetMinute( ), GetSecond( ), GetDayOfWeek( ) 返回整型(int)对应项目 ④ 将当前时

VC/MFC中的CComboBox控件使用详解

CComboBox控件详解 CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down list). CComboBox控件的常用设置属性说明: type属性:里面一共有三个选项.就是其三种形式, 我们常用的是后两种形态,其区别就是Dropdown的编辑区为可编辑控件,而droplist为静态控件. Data属性:当程序初始化的时候,下拉列表将显示其属性里面的内容,内容用分号分隔.其属性

VC++ MFC中如何将应用程序的配置信息保存到注册表中(一)

注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.比如我们打开一个记事本,调整其窗口大小,使用完毕后关闭记事本,下次打开时大小和上次关闭前的大小和在屏幕上的位置是相同.这些位置和大小信息就是在记事本关闭时保存到注册表中,下次打开时我们从注册表中取出这些数据,并按照这些数据显示记事本程序的大小和位置信息. 下面教你如何使用GetProfileInt,WriteProfileInt,GetPro

[转]关于VC++ MFC中的空闲Idle处理机制!

关键词: 先根据空闲标志以及消息队列是否为空这两个条件判断当前线程是否处于空闲状态(这个"空闲"的含义同操作系统的含义不同,是MFC自己所谓的"空闲"),如果是,就调用CWinThread::OnIdle(),这也是我们比较熟悉的一个虚拟函数. 如果不是,从消息队列中取出消息,进行处理,直到消息队列为空. /thrdcore.cpp // main running routine until thread exits int CWinThread::Run() {

VC/MFC中为程序定义全局快捷键

VC 2010-05-01 18:01:34 阅读287 评论0 字号:大中小 订阅 1.注册快捷键 在初始化函数,如OnInitDialog() 注册快捷键,代码如下: #define HotKeyID1 200 BOOL CDlgCloseProSetup::OnInitDialog() { CDialog::OnInitDialog(); ::RegisterHotKey(m_hWnd, HotKeyID1, NULL, VK_HOME); return TRUE; } RegisterH