C++中的字符串长度

时间:2020-02-23 14:30:06  来源:igfitidea点击:

C++中的字符串长度可以通过各种方法计算或者找到。
其中在本教程中,我们将学习所有这些。
而且我们还将通过C++编程实现相同的功能。

在C++中查找字符串长度的方法

下面列出了用于计算给定字符串长度的不同方法:

  • size()
  • length()
  • strlen()
  • 使用循环。

C++中的string.h头文件在其内部预先定义了size()length()函数。
通常这两个函数可以互换使用,甚至以相似的方式返回相同的值。

另一方面,cstring.h头文件具有预定义的strlen()函数。

有趣的是,我们还可以通过在循环结构内使用计数器来找到C++中字符串的长度。
循环迭代可以由" for"或者" while"执行。

当然,我们不能使用do-while循环,因为它至少迭代了1次。
因此,在字符串不包含任何字符的情况下,do-while循环将返回1而不是0。

因此,让我们看看如何使用所有上述方法来计算字符串的长度。

1. C++中的size()

C++中的size()函数以字节为单位返回指定集合(在我们的情况下为String)的长度。
它在C语言的string.h头文件中定义。
以下代码描述了如何使用size()函数:

#include<iostream> 
#include<string>    
using namespace std;
int main()
{
  string a;
  cout<<"Enter the string: ";
  getline(cin,a);
  cout<<"\nThe size of the string is: "<<a.size();
	return 0;
}

2. length()在C++中查找字符串长度

length()函数也定义在string.h头文件中,并且以与size()相同的方式工作。
这两个函数返回相同的值,并且也以相同的方式使用。
让我们看下面的例子:

#include<iostream>
#include<string>    
using namespace std;
int main()
{
  string a;
  cout<<"Enter the string: ";
  getline(cin,a);
  cout<<"\nThe size of the string usnig length() is: "<<a.length();
	return 0;
}

3. C++中的strlen()

strlen()是又一个函数,广泛用于计算给定cstring(或者字符数组)的长度。
它在cstring.h头文件中定义。
让我们看下面的例子:

#include<iostream>
#include<cstdlib> 
#include<cstring>    
using namespace std;
int main()
{
  char string[50];
  cout<<"Enter the string: ";
  fgets(string,50,stdin);
  cout<<"\nThe size of the string usnig strlen() is: "<<strlen(string)-1;
	return 0;
}

如我们所见,我们获得给定字符串的长度作为输出。
由于fgets()函数还考虑字符串内的换行符,因此strlen()函数返回的字符串的长度必须减少1。

4.使用循环在C++中查找字符串长度

下面的示例说明了如何使用循环迭代来计算指定字符串的长度。

#include<iostream>
#include<cstdlib>
#include<string>   
using namespace std;
int main()
{
  string a;
  int count=0;
  cout<<"Enter the string: ";
  getline(cin,a);
  while(a[count]!='{代码}')
  {
  	count++;
  }
  cout<<"\nThe size of the string using loop is: "<<count;
	return 0;
}

在while循环的每次成功迭代中,count变量将增加1,直到遇到字符串的末尾或者NULL字符('\ 0')。
因此,我们获得了字符串中存在的元素总数。
实际上是字符串本身的长度。