sizeof strlen wcslen tcslen 都是取得字符串长度。
sizeof :取得字符串的字节长度,包含 '/0'。
strlen:取得多字节字符串中字符长度,不包含 '/0'。
wcslen:取得宽字节字符串中字符长度,不包含 '/0'。
tcslen:取得宽字节/多字节字符串中字符长度,不包含 '/0'。
例如:
WCHAR wcsStr[] = L"1234";
char chrStr[] = "1234";
TCHAR tcsStr[] = "1234";
//宽字符
int wcslen01 = wcslen(wcsStr); // wcslen01 == 4
int wcslen02 = sizeof wcsStr; // wcslen02 == 10
//多字节字符
int chrlen01 = strlen(chrStr); // chrlen01 == 4
int chrlen02 = sizeof chrStr; // chrlen02 == 5
//多字节字符
int tcslen01 = _tcslen(tcsStr); // tcslen01 == 4
int tcslen02 = sizeof tcsStr; // tcslen02 == 5
sizeof :取得字符串的字节长度,包含 '/0'。
strlen:取得多字节字符串中字符长度,不包含 '/0'。
wcslen:取得宽字节字符串中字符长度,不包含 '/0'。
tcslen:取得宽字节/多字节字符串中字符长度,不包含 '/0'。
例如:
WCHAR wcsStr[] = L"1234";
char chrStr[] = "1234";
TCHAR tcsStr[] = "1234";
//宽字符
int wcslen01 = wcslen(wcsStr); // wcslen01 == 4
int wcslen02 = sizeof wcsStr; // wcslen02 == 10
//多字节字符
int chrlen01 = strlen(chrStr); // chrlen01 == 4
int chrlen02 = sizeof chrStr; // chrlen02 == 5
//多字节字符
int tcslen01 = _tcslen(tcsStr); // tcslen01 == 4
int tcslen02 = sizeof tcsStr; // tcslen02 == 5
本文深入解析了C/C++编程中用于获取字符串长度的不同函数,包括sizeof、strlen、wcslen和tcslen,详细阐述了它们的工作原理、参数类型以及应用场景。通过实例演示了如何在宽字符和多字节字符环境下正确使用这些函数,并对比了它们的输出,旨在帮助开发者在实际编程中做出合适的选择。

被折叠的 条评论
为什么被折叠?



