字符串匹配 wchar To char,摘抄别人的,自己改改,完成了自己的匹配。
来源:互联网 发布:西安 长安 知乎 编辑:程序博客网 时间:2024/04/30 13:44
wchar 和 char 的区别不是很多,wchar 是UNICODE码 char是ANSI码 UNICODE中文等都可以显示,ANSI可能会乱码
我之前对wchar_t* wszText 用strlen求字符串长度,总是有误。对宽字节,要用wcslen(wszText)*2 千万要*2 这个得到的才是刚刚好的字符串长度
自己要把wchar_t 换成char w2a资料少,不会。看到别人写的函数,摘抄下:
//-------------------------------------------------------------------------------------------------------------------
//char to wchar
WCHAR* WChar(char *string)
{
WORD *wchr;
int wsize=MultiByteToWideChar(CP_ACP, NULL, string, strlen(string), NULL, 0);
wchr=new WORD[wsize+1];
MultiByteToWideChar(CP_ACP, NULL, string, strlen(string), wchr, wsize);
wchr[wsize]=0;
return wchr;
}
//wchar to char
char* Char(WCHAR *string)
{
char *chr;
chr=new char[wcslen(string)+1];
memset(chr, 0, wcslen(string)+1);
for(unsigned int i=0; i<wcslen(string);
{
chr[i]=(unsigned char)string[i];
}
return chr;
}
至于CString 到 char* 可以用GetString到 WCHAR* 或char*
注意返回的好像是一个 const 的 ,所以最好先强制转换一下。
然后再用上面的函数。
顺便说一下,大部分函数都支持宽字节,比如ifstream 、string
用宽字节就是 wifstream、wstring
CreateWindow的宽字节就是CreateWindowW
不用宽字节就是CreateWindowA
qq 648102143
在MFC中,一般要传递WCHAR* 或 char* 的都可以传递一个CString 对象。
首先从char 和 wchar_t 之间无法强制转换。CString 的GetString 函数会返回一个LPCWSTR 或 LPCSTR, 不管是哪个,用上面的函数都可以达到目的。
//-----------------------------------------------------------------------------------------------------------------------------------------
用在自己那,有点小问题,编译不过去,自己只用wchar2char 小改,通过!
char* wCharToChar(const wchar_t* string);
char* wCharToChar(const wchar_t* string)
{
char* chr;
chr=new char[wcslen(string)+1];
memset(chr,0,wcslen(string)+1);
for(unsigned int i=0;i<wcslen(string);i++)
{
chr[i]=(unsigned char)string[i];
}
return chr;
}
没错误
- 字符串匹配 wchar To char,摘抄别人的,自己改改,完成了自己的匹配。
- 自己完成的第一个Map-Reduce, 类似模板匹配
- sunday算法和自己关于字符串匹配的一些思考
- 3月24日 想到了一个字符串匹配的新算法 程序 时间复杂度自己不会算
- 自己写的括号匹配算法
- 自定义autoCompleteTextView实现自己的匹配规则。
- CHAR与WCHAR字符串的转化
- 别人眼中的自己
- VC中CString,int,string,char*之间的转换 转载别人的加了点点自己的
- 基本完成了自己的预定计划
- 今天完成了自己的html窗口
- 终于完成了自己的论文
- 终于完成了自己的Dataset to CSV转换(所见即所得))
- 让别人自己决定别人的生活
- 你是否将自己的命运交由别人了
- 自己写的一个括号匹配的程序
- 详解一个自己原创的正则匹配IP的表达式
- 别人的东西,自己先用着!!!
- 彩云项目总结
- Java中兩個使用invoke方法的例子
- Android系统移植(一)-让android系统在目标平台上运行起来
- asp.net MVC中html.DropDownList反显
- 函数指针和回调函数实例1
- 字符串匹配 wchar To char,摘抄别人的,自己改改,完成了自己的匹配。
- 使用asp.net与长连接技术制作网页聊天工具(初步)
- 问世间情为何物,我算是大彻大悟!!!!
- (转载)How browsers work--Behind the scenes of modern web browsers (前端必读)
- droid3 flash
- Android系统移植(二)-按键移植
- Android SDK TOOL
- C# 窗口全屏 隐藏任务栏 (代码)
- eclipselink使用