c++字符串

2023-12-26 11:34:24

背景:我比较熟悉char,而wchar_t等其他类型让我很晕,学习一下。?

参考:C++中字符三兄弟(WCHAR、CHAR、TCHAR)-CSDN博客

感谢作者!!!

文章内容学习:(这里只是记录一下,建议大家去看作者的文章)

C++中字符分为:wchar_t和char

WCHAR对应wchar_t

?CHAR对应char

TCHAR有时对应wchar_t,有时对应char

char:8ANSI字符

wchar_t:16Unicode字符

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)初始化,输出,逐个输出,获取字符串长度!

参考文章:

?C++ wchar_t - 知乎 (zhihu.com)

	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;

写在最后,真心感谢分享知识的朋友们!!!

文章来源:https://blog.csdn.net/weixin_51883798/article/details/135214318
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。