C++中的字符串长度
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')。
因此,我们获得了字符串中存在的元素总数。
实际上是字符串本身的长度。