把char*转换为wchar_t*
把char*转换为wchar_t*
用stdlib.h中的mbstowcs_s函数,可以通过下面的例子了解其用法:
char *CStr = "string to convert";
size_t len = strlen(CStr) + 1;
size_t converted = 0;
wchar_t *WStr;
WStr=(wchar_t*)malloc(len*sizeof(wchar_t));
mbstowcs_s(&converted, WStr, len, CStr, _TRUNCATE);
其结果是WStr中储存了CStr的wchar_t版本。
把wchar_t*转换为char*
和上面的方法类似,用stdlib.h中的wcstombs_s函数,例子:
wchar_t *WStr = L"string to convert";
size_t len = wcslen(WStr) + 1;
size_t converted = 0;
char *CStr;
CStr=(char*)malloc(len*sizeof(char));
wcstombs_s(&converted, CStr, len, WStr, _TRUNCATE);
这时WStr中的内容将被转化为char版本储存在CStr中。
另外还可以通过流的方法来char*类型转换为wchar_t*类型,但这样的转换得到的结果将是const类型,而类似的方法不能将wchar_t*类型转换为char*类型。
把(const)char*转换为const wchar_t*
需要用到 sstream 头文件:
char *cstr="string to convert";
wstringstream wss;
wss<<cstr;
再调用wss.str().c_str(); 即可得到 const wchar_t* 类型的返回值。
虽然stringstream流不能将wchar_t*转换成char*,但可以用来进行数值类型和字符串之间的转换,例如:
double d=2734792.934f;
stringstream ss;
ss<<d;
调用ss.str()可得到string类型字符串 ”273479e+006”,又如:
string str("299792458");
stringstream ss;
long i=0;
ss<<str;
ss>>i;
此时i=299792458。
把char*转换为wchar_t*相关推荐
- linux wchar t char,linux 下 Linux 下char转换为wchar_t
LInux下使用mbstowcs函数可以将char转化为wchar_t 函数含义:convert a multibyte string to a wide char string 说明: ...
- linux下中文的wchar转char,Linux 下char转换为wchar_t
LInux下使用mbstowcs函数可以将char转化为wchar_t 函数含义:convert a multibyte string to a wide char string 说明: ...
- C++中char*与wchar_t*之间的转换
把char*转换为wchar_t* 用stdlib.h中的mbstowcs_s函数,可以通过下面的例子了解其用法: char *CStr = "string to convert" ...
- 不能将参数 2 从“const char *”转换为“LPCWSTR”【转】http://blog.sina.com.cn/s/blog_4a94a0db0100ktxp.html...
: 不能将参数 2 从"const char *"转换为"LPCWSTR" 在VS2008下使用MFC编程遇到错误: error C2664: & ...
- C/C++中char *与wchar_t*的几种转换方法
多字节(char *)和宽字符(wchar_t *)之间的转换有几种方式,下面按照从通用到特殊的顺序逐一介绍. 1.C库函数 1.1 关键函数 (1) setlocale() 功能:配置地域化信息 头 ...
- char 转wchar_t 及wchar_t转char
利用widechartomultibyte来转换的函数 通常适合于window平台上使用 #include <tchar.h> #include <windows.h> int ...
- char装cstring_VC中char*转换为CString
最近在写程序时总会遇到char*转CString的问题,在参考<windows核心编程>后,自己写了一个函数来实现,如下: //功能:将char* 转换为CString //参数:待转换的 ...
- 不能从const char *转换为LPCWSTR --VS经常碰到
不能从const char *转换为LPCWSTR 在VC 6.0中编译成功的项目在VS2005 vs2005.vs2008.vs2010中常会出现类型错误. 经常出现的错误是:不能从const ch ...
- char与wchar_t的转换
来源于:http://www.cppblog.com/lf426/ wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于uni ...
最新文章
- OKR管理和绩效考核有什么不一样呢?
- 在Docker启动Cloudera并开始体验
- 不使用物理引擎实现防止群聚行为敌人扎堆
- 乙肝疫苗该怎么打(转)
- fir.im Weekly - 1000 个 Android 开源项目集合
- oracle12c之 控制pdb中sga 与 pga 内存使用
- EPSON 自带CCD图像处理包使用举例
- 【HTML】前端性能优化之CDN和WPO的比较
- BSOD 0x00000133
- 360全景图PS更换天空背景
- cas和saml_结合使用SAML安全令牌和Microsoft Web Services增强功能
- You must SET PASSWORD before executing this statement的解决方法 详细出处参考:http://www.jb51.net/article/39187.
- 最详细的【微信小程序+阿里云Web服务】开发部署指引(十一):开发小程序设置功能
- linux 网桥防火墙,linux透明防火墙(网桥形式).doc
- 怎样在百度UMeditor编辑器中插入腾讯和爱奇艺网站视频?
- graphql的调用
- 远程桌面无法连接解决办法
- sudo rm -rf /* 命令运行演示(管理员身份删除根目录所有文件)
- 实战七:手把手教你用TensorFlow进行验证码识别(上)
- 快速过熊掌号2.0新手任务了解熊掌号!
热门文章
- jenkins 手动执行_我常用的SpringBoot+Jenkins自动化部署技巧,贼好用,推荐给大家...
- oracle 跨服务器推送视图_oracle跨数据库视图
- InnoDB Monitors
- vue2实现自定义样式radio单选框
- [SHOI2017]组合数问题
- Python多版本共存配置
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
- Javascript学习笔记3 Javascript与BOM简介
- ios原子操作和各种锁
- [转]对C#泛型中的new()约束的一点思考