C++ 字符串

C++ 字符串

一、字符串两种写法
c语言的写法,可以延用

const char* str1 = "huang";
char str2[] = "Hello, World!";

c++写法

std::string str = "Hello, World!";

二、字符串计算长度
c语言的计算字符串长度,需要导入库

#include 
std::cout << "Length: " << strlen(str) << std::endl;

c++语言的计算字符串长度

std::string str = "Hello, World!";
std::cout << "Length: " << str.length() << std::endl;

三、常见问题
问题:以下两种定义求,sizeof, strlen

const char* str1 = "huang \0hai qia0";
char str2[] = "huang \0hai qia0";

测试代码

#include 
#include 
int main() {
    const char* str1 = "huang \0hai qia0";
    char str2[] = "huang   hai qia0";
    std::cout << "字符串str1: " << str1 << std::endl;
    std::cout << "字符串str2: " << str2 << std::endl;
    std::cout << "strlen计算字符串str1: " << strlen(str1) << std::endl;
    std::cout << "sizeof计算字符串str1: " << sizeof(str1) << std::endl;
    std::cout << "strlen计算字符串str2: " << strlen(str2) << std::endl;
    std::cout << "sizeof计算字符串str2: " << sizeof(str2) << std::endl;
    return 0;
}

输出结果

strlen计算字符串str1: 6
sizeof计算字符串str1: 8
strlen计算字符串str2: 16
sizeof计算字符串str2: 17

总结知识点:
空字符为(‘\0’),定义的字符串默认末尾都有空字符
字符串不是 C 语言的基本数据类型,声明方式用指针、或者数组类型代替
strlen计算长度,逐个计算字符,直到遇到空字符,不包含非空字符
sizeof关注类型,注意是字符串,默认包涵(‘\0’)

你可能感兴趣的:(c++,开发语言)