C++ wchar_t介绍以及和string类型的转换
2022/2/21 17:27:10
本文主要是介绍C++ wchar_t介绍以及和string类型的转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
首先介绍下wchar_t类型
一、wchar_t类型的由来
我们知道char类型变量可以存储一个字节的字符,它用来保存英文字符和标点符号是可以的,但是对于汉字、韩文以及日文这样的字符却不可以,因为汉字、韩文以及日文每一个文字都占据两个字节,为了解决这个问题,c++提出了wchar_t类型,称之为双字节类型,又称宽字符类型。
二、下面是一个范例
1 int main(int argc, wchar_t* argv[]) 2 { 3 //使用setlocale函数将本机的语言设置为中文简体 4 setlocale(LC_ALL,"chs");//LC_ALL表示设置所有的选项(包括金融货币、小数点,时间日期格式、语言字符串的使用习惯等),chs表示中文简体 5 wchar_t wt[] = L"中国你好!";//大写字母L告诉编译器为"中"字分配两个字节的空间 6 wcout<<wt<<endl;//使用wcout来代替cout输出宽字符,wcin类代替cin输入宽字符 7 cout<<wcslen(wt)<<endl;//wcslen输出宽字符串的长度,输出长度是5 8 cout<<sizeof(wt)<<endl;//输出长度是12个字节,最后的wchar_t类型的'\0'两个字节 9 return 0; 10 }
三、 和string类型之间的转换
1 string str("你好中国"); 2 wchar_t * wc = new wchar_t[str.size()]; 3 swprintf(wc,100,L"%S",str.c_str()); //注意大写 4 //wc指向的内存区域存储这wchar_t类型的 ”你好中国“。
这篇关于C++ wchar_t介绍以及和string类型的转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解