C++ 字符串长度



字符串的长度是指字符串中存在的字符数。这些字符可以是char数据类型,包括所有字母数字元素、符号和杂项字符。在C++编程语言中,有两种类型的字符串——C风格的字符数组字符串对象,它们是<string>类的内置对象。

字符串的长度也包括空格,但是如果字符串包含终止字符“\0”,则字符串在此字符处结束,长度计数在此字符之前终止。

有很多方法可以找到给定字符串的长度。其中一些方法是迭代的,而另一些方法也使用内置函数和方法。这些方法将在本章的后续部分中清楚地解释:

  • 使用strlen()方法
  • 使用字符串类的string::length()方法
  • 使用字符串类的string::size()方法
  • 使用迭代for循环
  • 使用迭代while循环

使用 strlen() 方法计算字符串长度

字符串定义为字符数组,可以使用指向数组第一个迭代器的指针来访问。我们可以使用C库的strlen()方法来计算C类型数组的长度。

语法

以下语法显示了如何使用 strlen() 方法计算字符串的长度:

strlen(string_name);

示例

以下示例演示了如何使用 strlen() 方法计算字符串的长度:

#include <bits/stdc++.h>
using namespace std;

int main() {
   char s[]="I love TP !!!";
   cout<<"Length of string s : "<<strlen(s);
   return 0;
}

输出

Length of string s : 13

使用 string::size() 方法计算字符串长度

大多数程序员通常在需要计算C++编程语言中字符串长度时使用字符串类的string::size()方法。这是最基本的方法,通常在遍历字符串对象时使用。

语法

以下语法显示了如何使用 size() 方法计算字符串的长度:

string_object.size();

示例

以下示例演示了如何使用 size() 方法计算字符串的长度:

#include <bits/stdc++.h>
using namespace std;

int main() {
   string s="I love TP !!!\0 and others";

   cout<<"Length of string s : "<<s.size();
   return 0;
}

输出

Length of string s : 13

使用 string::length() 方法计算字符串长度

我们还可以使用字符串类的length()方法来确定给定字符串的长度。length()size()方法都是<string>头文件的一部分,它们被称为字符串对象的方法。

语法

以下语法显示了如何使用 length() 方法计算字符串的长度:

string_object.length();

示例

以下示例演示了如何使用 length() 方法计算字符串的长度:

#include <bits/stdc++.h>
using namespace std;

int main() {
   string s="I love TP !!!\0 and others";

   cout<<"Length of string s : "<<s.length();
   return 0;
}

输出

Length of string s : 13

使用 while 循环计算字符串长度

我们可以使用简单的while循环迭代字符串并初始化一个变量计数器来计算字符串的长度,直到到达字符串的末尾。对于每次迭代,计数器增加一,因此最终结果将是字符串的长度。

语法

以下语法显示了如何使用while循环计算字符串的长度:

while(s[i]!='\0') {
   [body]
}

示例

以下示例演示了如何使用单个 while 循环计算字符串的长度:

#include <bits/stdc++.h>
using namespace std;

int main() {
   string s="I love TP !!!\0 and others";
   int count=0, i=0;
   while(s[i]!='\0') 
      count++, i++;

   cout<<"Length of string s : "<<count;
   return 0;
}

输出

Length of string s : 13

使用 for 循环计算字符串长度

我们可以使用简单的for循环迭代字符串并初始化一个变量计数器来计算字符串的长度,直到到达字符串的末尾。对于每次迭代,计数器增加一,因此最终结果将是字符串的长度。

语法

以下语法显示了如何使用 for 循环计算字符串的长度:

for(int i=0;s[i]!='\0';i++){
   [body]
}

示例

以下示例演示了如何使用单个 for 循环计算字符串的长度:

#include <bits/stdc++.h>
using namespace std;

int main() {
   string s="I love TP !!!\0 and others";
   int count=0;
   for(int i=0;s[i]!='\0';i++) 
      count++;

   cout<<"Length of string s : "<<count;
   return 0;
}

输出

Length of string s : 13
广告