求字符串长度方法 - 极悦
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 求字符串长度方法

求字符串长度方法

更新时间:2020-11-05 17:37:35 来源:极悦 浏览1465次

字符串长度就是这个字符串所包含字符的个数,但是这个长度是不包含 NUL 字符的。字符串长度通常是指字符串中包含字符的数目,但有的时候人们需要的是字符串所占字节的数目。事实上,求解字符串长度的方法不是单一的,而是灵活多变的。


下面我们先来看一下C++中关于字符串的定义:

#include

#include

int main()

{

char str1[] = "Hello World!";

printf("%d\n",strlen(str1));

return 0;

}

/* output:

* 12

*/

常见的获取字符串长度的方法包括如下几种。


1.strlen()

这个测字符数组长度,需要头文件 #include

#include

#include

using namespace std;

main ()

{

char c[100005];

cin >> c;

int len = strlen(c);

cout << len << endl;

}


2.sizeof()

测所占内存大小(就是在计算机中占几个字节)

#include

#include

using namespace std;

main ()

{

char c[100005];

cin >> c;

cout << "数组长度为" << endl;

int len = strlen(c);

cout << len << endl;

cout << "c数组占字节长度为" << endl;

int Csize = sizeof(c);

cout << Csize << endl;

}


3.s.length()

用来测 string 定义的类的字符串长度

#include

#include

#include

using namespace std;

main ()

{

string s;

cin >> s;

int len = s.length();

cout << len << endl;

int Ssize = sizeof(s);

cout << Ssize << endl;

}


4.s.size()

用来测 string 定义的类的字符串长度和s.length()一样没区别

#include

#include

#include

using namespace std;

main ()

{

string s;

cin >> s;

int len = s.size(); //长度

cout << len << endl;

int Ssize = sizeof(s); //所占空间的大小

cout << Ssize << endl;

}


编写如下程序,体验获取字符串长度的各种方法。

 #include "stdafx.h"

 #include "string"

 #include "comutil.h"

 #pragma comment( lib, "comsuppw.lib" )


 using namespace std;


 int main()

 {

 char s1[] = "中文ABC";

 wchar_t s2[] = L"中文ABC";


 //使用sizeof获取字符串长度

 printf("sizeof s1: %d\r\n", sizeof(s1));

 printf("sizeof s2: %d\r\n", sizeof(s2));


 //使用strlen获取字符串长度

 printf("strlen(s1): %d\r\n", strlen(s1));

 printf("wcslen(s2): %d\r\n", wcslen(s2));


 //使用CString::GetLength()获取字符串长度

 CStringA sa = s1;

 CStringW sw = s2;


 printf("sa.GetLength(): %d\r\n", sa.GetLength());

 printf("sw.GetLength(): %d\r\n", sw.GetLength());


 //使用string::size()获取字符串长度

 string ss1 = s1;

 wstring ss2 = s2;


 printf("ss1.size(): %d\r\n", ss1.size());

 printf("ss2.size(): %d\r\n", ss2.size());


 //使用_bstr_t::length()获取字符串长度

 _bstr_t bs1(s1);

 _bstr_t bs2(s2);


 printf("bs1.length(): %d\r\n", bs1.length());

 printf("bs2.length(): %d\r\n", bs2.length());


return 0;

 }

输出结果:

sizeof s1: 8

sizeof s2: 12

strlen(s1): 7

wcslen(s2): 5

sa.GetLength(): 7

sw.GetLength(): 5

ss1.size(): 7

ss2.size(): 5

bs1.length(): 5

bs2.length(): 5


总之,4种求字符串长度的方式分别为strlen() ,sizeof() ,s.length() ,s.size()以上内容详细的介绍了求解字符串长度的4种方法以及实例说明,如果单靠个别例子无法理解如何求字符串长度,可以观看本站的Java基础教程,里面还有更多的详细的实例讲解,帮助你加深对字符串长度的理解。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>