C++之字符串
来源:互联网 发布:绝知此事要躬行意思 编辑:程序博客网 时间:2024/06/08 15:04
一、C++中字符串
C++中字符串有2种形式,string和char ,char 与C语言中用法一致,而string是一个类,既然是一个类,就有类方法。方便我们查找、替换、删除、遍历等操作。C++中的string封装了char ,管理这个字符串,是一个char 的容器。下面简单介绍string提供的一系列字符串操作函数,查找find,拷贝copy删除erase 替换replace 插入insert等
1.字符串的初始化
int main() { string s1="aaa"; string s2("bbbb"); string s3 = s2; //拷贝构造实现的,涉及到指针需要注意 string s4(10,'a'); cout << s1 << endl; cout << s2 << endl; cout << s3 << endl; cout << s4 << endl;
2.字符串的遍历
①数组方式 string s1 = "bacdd"; for (int i = 0; i < s1.length(); i++) { cout << s1[i] << endl; }②迭代器方式 string s2 = "asssss"; for (string::iterator it = s2.begin(); it != s2.end(); it++) { cout << *it << endl; }
两者访问方式有区别,主要体现在异常方面。
at()与[]访问方式的区别string s1 = "asssss"; try { for (int i = 0; i < s1.length()+3; i++) { cout << s1.at(i) << endl; } } catch(...){ cout << "发生异常" << endl; //抛出异常 } try { for (int i = 0; i < s1.length() + 3; i++) { cout << s1[i] << endl; //不抛出异常,引起程序中断 } } catch (...) { cout << "发生异常" << endl; }
3.字符指针与string的转换
返回内存首地址
s1.c_str()
把string拷贝到char *指向的内存空间的操作。
s1.copy(buf,3,0);//将s1拷贝到buf数组中,从位置0(默认)开始,长度是3,不会再字符串末尾加’\0’。
4.字符串的拼接
①:s3=s1+s2;
②:s2.append(s1); //将s1拼接到s2后面
5.查找与替换
find(char c,int pos=0);find(const char *)s1.replace(offindex,3,"WBM");查找到后删除然后替换s2.insert(0,"AAA");
6.字符的删除
//删除pos开始的n个字符,并且返回删除之后的字符串
string &erase(int pos=0,int n=npos);
通过迭代器删除
string s1="hello hello2 hellol";string::iterator it=find(s1.begin(),s1.end(),'l');if(it!=s1.end()){ s1.erase(it);//将第一个hello中的'l'删除,只删除了一个}//全部删除s1.erase(s1.begin(),s1.end());//区间删除和插入string s="hello hello2 hello3";
7.数组元素
函数返回值当左值,必须是返回引用
vector<int> v1; cout << v1.size() << endl; v1.push_back(1); v1.push_back(3); v1.push_back(5); cout << v1.size() << endl; cout << v1.back() << endl; v1.front()=11; //front()返回的是引用 v1.pop_back(); v1.front()
8.插入
//头插入法string &insert(int pos,string &s);string &insert(int pos,char *);s1.insert(0,"AAA");//尾部插入s1.insert(s.length(),"CCC");
阅读全文
0 0
- C语言之字符串
- C语言之字符串
- Objective-C 之字符串
- Object-c 之 字符串
- C语言之字符串
- C语言之字符串
- C语言之字符串
- c之字符串分配
- C++Primer之字符串
- C语言之字符串
- Object-C 之 字符串
- c语言之字符串
- C语言之字符串
- 【C#】之字符串处理
- C语言之字符串
- Objective-C之NSMutableString字符串
- c指针之字符串常量
- c库函数之分割字符串
- 数字的来源及数据思维的发展
- 软件工程(C编码实践篇)学习总结
- 数学概念实际意义探究小记
- Werkzeug 库以及 wrapper 模块
- Internet常用术语及含义
- C++之字符串
- php debug 方法
- SWJTUOJ-2397 A Easy Counting Problem
- UML工具使用:PlantUML
- mac终端的一些常见命令
- 树莓派的首次连接
- redux的中间件(middleware)
- 华为2018届校招勇敢星实习生招聘笔试+面试经历
- Eclipse 搭建SSM(Spring、Spring MVC 、Mybatis)