📜  5种在C++中查找字符串长度的方法(1)

📅  最后修改于: 2023-12-03 15:29:12.250000             🧑  作者: Mango

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

在C++中查找字符串长度是常见的任务。下面介绍5种常见的方法。

方法一:使用strlen函数

strlen函数是C语言标准库函数,也是C++字符数组处理库函数中最为常用的函数之一。使用该函数只需要注意参数类型是const char*,例如:

const char* str = "hello";
int len = strlen(str); // len = 5
方法二:使用size函数

size函数是STL中字符串类std::string的成员函数,可以返回字符串长度,例如:

std::string str = "world";
int len = str.size(); // len = 5
方法三:使用sizeof运算符

sizeof运算符可以求出变量或数据类型的字节数,但是该方法只适用于字符数组类型,例如:

char str[] = "hello";
int len = sizeof(str) / sizeof(char) - 1; // len = 5

上述代码中,由于字符数组最后一个元素为\0,因此要减去1才是字符串的实际长度。

方法四:使用strlenstring::c_str结合

在C++中有时需要将std::string类型的字符串转换为C风格的字符串,可以使用c_str函数。结合方法一中的strlen函数,可以得到下面的代码:

std::string str = "hello";
int len = strlen(str.c_str()); // len = 5
方法五:使用范围for循环和std::count_if

使用范围for循环和std::count_if算法可以遍历字符串中的所有字符,统计字符个数,例如:

std::string str = "hello";
int len = std::count_if(str.begin(), str.end(), [](char c){ return true; }); // len = 5

上述代码中,std::count_if算法中lambda表达式返回true即表示该字符计入字符串长度中。