在线做ppt的网站源代码,可信网站认证图标,站内优化主要从哪些方面进行,济南建设工程交易信息网一.知识点总结
1. C风格字符串#xff08;字符数组#xff09;
字符数组存储字符串#xff1a;C风格的字符串实际上是字符数组#xff0c;以空字符\0作为结尾标志。字符串字面量与字符数组#xff1a;字符串字面量如Hello被编译器视为const char*类型#…一.知识点总结
1. C风格字符串字符数组
字符数组存储字符串C风格的字符串实际上是字符数组以空字符\0作为结尾标志。字符串字面量与字符数组字符串字面量如Hello被编译器视为const char*类型可以直接赋值给指向char的指针或字符数组。初始化字符数组可以通过初始化列表或字符串字面量初始化字符数组后者会在数组末尾自动添加\0。
2. C标准库std::string类
字符串对象声明std::string类提供了一种更安全、更灵活的方式来处理字符串。字符串操作std::string类提供了丰富的成员函数来操作字符串如append, assign, compare, insert, substr, find, length, 和 swap。 append在字符串末尾添加另一个字符串或字符序列。assign将字符串的内容替换为一个新的字符串或字符序列。compare比较两个字符串返回值指示了字符串的字典序关系。insert在指定位置插入新的字符串或字符序列。substr提取字符串的一部分返回子字符串。find搜索字符串中首次出现的字符或子字符串的位置。length返回字符串的长度不包括结尾的\0。swap交换两个std::string对象的内容。
3. 字符串的输出与访问
输出字符串无论是C风格字符串还是std::string对象都可以直接使用cout进行输出。访问字符串元素std::string对象支持通过索引访问单个字符如str[i]。
4. 注意事项
字符串字面量和数组初始化在C中不能使用初始化列表int* INT {1,2,3};来初始化指针因为这违反了C的规则不同于字符数组的初始化。字符串常量与指针字符串字面量被编译器视为const char*这意味着你不能修改字符串字面量中的字符。
二.详细注释代码
//与C语言一样C的基本数据类型变量中没有字符串变量
#includeiostream
#includestring
using namespace std;int main() {//字符数组储存(较繁琐)//字符串常量赋给字符串指针//一个字符串常量表示一个字符数组的首地址const char* STRING1 HEllo WOrld;//直接输出cout STRING1 endl;//错误int* INT {1,2,3};//三种等价初始化格式char str1[6] {H, e, l, l, o, \0};char str2[6] Hello;//末尾隐含有\0char str3[] World;//string类//常用成员函数const char* s EXO;string a Hello;string b World~;cout a : a b : b s : s endl;//添加在串尾a.append(s);cout a.append(s) : a endl;//赋值a.assign(s);cout a.assign(s) : a endl;//比较大小本串 较小返回负数较大返回正数否则返回0cout a.compare(s) : a.compare(s) endl;cout a.compare(b) : a.compare(b) endl;//s串插在整数对应下标之前a.insert(2, s);cout a.insert(2, s) : a endl;a.insert(4, s);cout a.insert(4, s) : a endl;//从第一个位置取第二个位置的个数返回新串取子串string c a.substr(2, 3);cout c a.substr(2, 3) : c endl;//查找第一次出现的位置cout a.find(O) : a.find(O) endl;cout a.find(c) : a.find(c) endl;//返回串长度cout a.length() : a.length() endl;//将本串与其进行交换cout a: a b: b endl;cout a.swap(b) : endl;a.swap(b);cout a: a b: b endl;}
三.输出
HEllo WOrld
a : Hello b : World~ s : EXO
a.append(s) : HelloEXO
a.assign(s) : EXO
a.compare(s) : 0
a.compare(b) : -1
a.insert(2, s) : EXEXOO
a.insert(4, s) : EXEXEXOOO
c a.substr(2, 3) : EXE
a.find(O) : 6
a.find(c) : 0
a.length() : 9
a: EXEXEXOOO b: World~
a.swap(b) :
a: World~ b: EXEXEXOOO