使用std::string时调用length()或size()获取字符数,二者等价;处理C风格字符串需用strlen()函数计算有效字符长度,不包含末尾'\0';注意sizeof返回数组总字节数,可能包含'\0',与字符串内容长度不同。

在C++中获取字符串长度的方法取决于你使用的字符串类型。常见的有C风格字符串(char数组)和C++标准库中的std::string。以下是几种常用的获取字符串长度的方式。
如果你使用的是std::string,可以直接调用length()或size()成员函数,这两个函数功能相同,都返回字符串中字符的数量。
length()等价,为了与其他STL容器保持接口一致而存在示例代码:
#include <iostream>
#include <string>
<p>int main() {
std::string str = "Hello C++";
std::cout << "长度: " << str.length() << std::endl; // 输出 9
std::cout << "大小: " << str.size() << std::endl; // 输出 9
return 0;
}
对于以空字符'\0'结尾的字符数组(即C风格字符串),可以使用<cstring>头文件中的strlen()函数来获取长度。
立即学习“C++免费学习笔记(深入)”;
注意:strlen()不会计算末尾的'<p>注意:<code>strlen()不会计算末尾的'\0',只返回有效字符个数。
示例代码:
#include <iostream>
#include <cstring>
<p>int main() {
const char* cstr = "Hello C";
std::cout << "C字符串长度: " << strlen(cstr) << std::endl; // 输出 7
return 0;
}
当你有一个字符数组而不是指针时,sizeof可能会返回整个数组占用的字节数,而不是字符串内容长度。
例如:
char arr[] = "Hello"; std::cout << sizeof(arr) << std::endl; // 输出 6(包括 '\0') std::cout << strlen(arr) << std::endl; // 输出 5
因此,在判断字符串内容长度时,应优先使用strlen(对C字符串)或std::string::length()。
基本上就这些。根据你使用的字符串类型选择对应方法即可。用std::string时调用length()最直观,处理C字符串记得包含<cstring>并使用strlen()。不复杂但容易忽略细节。
以上就是c++++怎么获取字符串的长度_c++字符串长度获取方式的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号