c++字符串
背景:我比较熟悉char,而wchar_t等其他类型让我很晕,学习一下。?
参考:C++中字符三兄弟(WCHAR、CHAR、TCHAR)-CSDN博客
感谢作者!!!
文章内容学习:(这里只是记录一下,建议大家去看作者的文章)
C++中字符分为:wchar_t和char。
WCHAR对应wchar_t。
?CHAR对应char。
TCHAR有时对应wchar_t,有时对应char。
char:8位ANSI字符
wchar_t:16位Unicode字符
strlen:返回ANSI字符串的长度
wcslen:返回Unicode字符串的长度
ANSI:单字节字符集,每个字符占一个字节,最多256个符号。
Unicode:双字节字符集,每个字符占两个字节。
std::string:一个ANSI字符串
std::wstring:一个Unicode字符串
LPSTR---char*
LPWSTR---wchar_t*
LPTSTR---char*或wchar_t*
LPCSTR---const char *
LPCWSTR---const wchar_t*
LPCTSTR---const wchar_t* 或const char*
版权声明:本文为CSDN博主「Data-Mining」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuzehn/article/details/124211056?
参考文章:
C语言中宽字符/宽字符串的输入输出(wchar_t和wprintf)_c语言 wchar-CSDN博客
版权声明:本文为CSDN博主「Black ? Shadow.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/BlackShadowT/article/details/104904752
?(1)打印wchar_t字符
setlocale(LC_ALL, "zh-CN");//添上这句,中文宽字符就可以被打印啦。
wchar_t a = L'A';
wchar_t b = L'9';
wchar_t c = L'中';
putwchar(a);
putwchar(b);
putwchar(c);
setlocale(LC_ALL, "zh-CN");//没有这句的话,中文字符在控制台不显示!
wchar_t c = L'中';
std::wcout << c << std::endl;
(2)打印wchar_t数组
setlocale(LC_ALL, "zh-CN");//添上这句,中文宽字符就可以被打印啦。
wchar_t a[] = L"我爱中国";
wprintf(L"%s", a);
(3)初始化,输出,逐个输出,获取字符串长度!
参考文章:
setlocale(LC_ALL, "zh-CN");//没有这句的话,中文字符在控制台不显示!
wchar_t c[] = L"我爱你中国!123abc";
std::wcout << c << std::endl;
for (int i = 0; c[i] != L'\0'; ++i)
{
std::wcout << c[i] << L"";
}
size_t length = std::wcslen(c);
std::wcout << std::endl << L"Length: " << length << std::endl;
写在最后,真心感谢分享知识的朋友们!!!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!