c++中c风格的字符串

发布于:2024-04-07 ⋅ 阅读:(153) ⋅ 点赞:(0)

在 C++ 中,C 风格的字符串通常指的是以 null 结尾的字符数组,也称为 C 字符串(C-style string)。这种字符串是由一系列字符组成的,以空字符 '\0' 结尾,用于表示字符串的结束。在 C++ 中,可以使用字符数组来定义和操作 C 风格的字符串,也可以使用相关的标准库函数来进行操作。

#include <iostream>
#include <cstring> // 包含 C 字符串相关的标准库头文件

int main() {
    // 定义一个 C 风格的字符串
    char str[] = "Hello, world!";

    // 打印字符串
    std::cout << "String: " << str << std::endl;

    // 计算字符串长度(不包括结尾的空字符)
    std::cout << "Length: " << strlen(str) << std::endl;

    // 拷贝字符串
    char dest[20];
    strcpy(dest, str);
    std::cout << "Copied string: " << dest << std::endl;

    // 连接字符串
    strcat(dest, " Welcome!");
    std::cout << "Concatenated string: " << dest << std::endl;

    // 比较字符串
    char str2[] = "Hello, world!";
    if (strcmp(str, str2) == 0) {
        std::cout << "Strings are equal" << std::endl;
    } else {
        std::cout << "Strings are not equal" << std::endl;
    }
    
    // 定义一个指向 C 风格字符串的指针
    const char* str_ptr = "Hello, world!";

    // 打印字符串
    std::cout << "String: " << str_ptr << std::endl;

    // 计算字符串长度(不包括结尾的空字符)
    std::cout << "Length: " << strlen(str_ptr) << std::endl;

    // 比较字符串
    const char* str_ptr2 = "Hello, world!";
    if (strcmp(str, str_ptr2) == 0) {
        std::cout << "Strings are equal" << std::endl;
    } else {
        std::cout << "Strings are not equal" << std::endl;
    }


    return 0;
}

参考:

https://en.cppreference.com/w/cpp/header/cstring


网站公告

今日签到

点亮在社区的每一天
去签到