北戴河网站建设百度网站介绍
C++ 字符串
一、字符串两种写法
c语言的写法,可以延用
const char* str1 = "huang";
char str2[] = "Hello, World!";
c++写法
std::string str = "Hello, World!";
二、字符串计算长度
c语言的计算字符串长度,需要导入库
#include <cstring>
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 <iostream>
#include <cstring>
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’)