一、char(字符)
1.1 基本概念
char是C++中的基本数据类型,用于表示单个字符。
charc='A';// 单个字符用单引号charzero='0';// 字符'0',ASCII值为48charspace=' ';// 空格字符charnewline='\n';// 转义字符1.2 重要特性
- 大小:通常1字节(8位)
- 范围:-128 到 127(有符号)或 0 到 255(无符号)
- 本质:实际上是整数(存储字符的ASCII码)
charc='A';cout<<c<<endl;// 输出: Acout<<(int)c<<endl;// 输出: 65(ASCII值)cout<<c+1<<endl;// 输出: 66(整数运算)1.3 字符数组(C风格字符串)
charstr1[]="Hello";// 自动包含'\0'charstr2[6]={'H','e','l','l','o','\0'};char*str3="Hello";// 字符串字面量(C++11后不建议)二、string(字符串类)
2.1 基本概念
std::string是C++标准库提供的字符串类(需要包含<string>)。
#include<string>usingnamespacestd;string s1="Hello World";strings2("C++ String");string s3=s1;// 复制构造2.2 重要特性
- 动态内存管理:自动调整大小
- 丰富的成员函数:提供各种字符串操作
- 安全性:比C风格字符串更安全(避免缓冲区溢出)
- 可操作性:支持运算符重载(+、==、<等)
三、string与char的转换
3.1 char数组 → string
charcharArray[]="Hello";string str=charArray;// 隐式转换stringstr2(charArray);// 显式构造stringstr3(charArray,3);// 只取前3个字符:"Hel"3.2 string → char数组
string str="Hello";// 方法1:c_str() - 返回const char*