21xrx.com
2025-03-27 17:20:34 Thursday
文章检索 我的文章 写文章
C++如何求取char*字符串的长度?
2023-07-07 13:10:05 深夜i     21     0
C++ 字符串 长度 char*

在C++中,char*字符串是一个指向字符数组的指针,因此求取字符串的长度比较简单。

方法一:使用库函数strlen

C++提供了一个strlen函数来求取字符串的长度。这个函数的原型如下:

size_t strlen(const char* str);

其中,str是要求取长度的字符串。该函数会返回字符串的长度。

示例代码:

#include <iostream>
#include <cstring>
using namespace std;
int main() {
 char* str = "hello world"; // 定义一个字符串
 size_t len = strlen(str); // 使用strlen函数求取长度
 cout << "字符串长度为:" << len << endl;
 return 0;
}

输出结果:

字符串长度为:11

方法二:自己编写函数

如果你不想使用库函数,也可以自己编写函数来求取字符串的长度。方法是遍历字符数组,计算出字符的数量。

示例代码:

#include <iostream>
using namespace std;
size_t my_strlen(const char* str) { // 自己编写的函数
 size_t len = 0; // 长度计数器
 while (*str) { // 遍历字符数组
  len++; // 每遍历一个字符,计数器加一
  str++; // 指针移动到下一个字符
 }
 return len;
}
int main() {
 char* str = "hello world"; // 定义一个字符串
 size_t len = my_strlen(str); // 使用自己编写的函数求取长度
 cout << "字符串长度为:" << len << endl;
 return 0;
}

输出结果:

字符串长度为:11

无论使用哪种方法求取长度,都要注意,字符串的末尾必须是一个空字符('\0'),否则求取到的长度可能会不准确。

  
  

评论区