📜  如何在 C++ 中查找字符数组的长度(1)

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

如何在 C++ 中查找字符数组的长度

在 C++ 中,字符数组是由一串字符组成的固定长度数组。我们可以通过几种方法来查找字符数组的长度。

方法一:使用标准库函数

C++ 中的标准库函数 strlen() 可以返回一个字符数组的长度。这个函数要求传入的参数必须是以 null 字符(\0)结尾的字符串。

以下是使用 strlen() 函数获取字符数组长度的示例代码:

#include <iostream>
#include <cstring>

int main() {
    char str[] = "Hello, world!";
    int length = strlen(str); // 获取字符数组长度

    std::cout << "Length of str is: " << length << std::endl;

    return 0;
}

输出:

Length of str is: 13
方法二:手动计算字符数组的长度

我们可以通过遍历字符数组并计算其中字符的数量来手动计算字符数组的长度。

以下是手动计算字符数组长度的示例代码:

#include <iostream>

int main() {
    char str[] = "Hello, world!";
    int length = 0;

    while (str[length] != '\0') { // 遍历字符数组直至遇到 null 字符
        length++;
    }

    std::cout << "Length of str is: " << length << std::endl;

    return 0;
}

输出:

Length of str is: 13
方法三:使用模板函数

我们还可以使用 C++11 中的模板函数来获取任意类型的数组长度。

以下是使用模板函数获取字符数组长度的示例代码:

#include <iostream>

template <typename T, std::size_t N>
std::size_t arrayLength(T (&)[N]) { // 模板函数
    return N;
}

int main() {
    char str[] = "Hello, world!";
    std::size_t length = arrayLength(str); // 获取字符数组长度

    std::cout << "Length of str is: " << length << std::endl;

    return 0;
}

输出:

Length of str is: 13

以上就是在 C++ 中查找字符数组长度的三种方法。使用哪种方法取决于代码的需要和个人习惯。