STL泛型编程学习之String系列容器
2014-01-27 22:27
239 查看
说明:
由于string系列容器的操作方法较多却零散,分开写代码比较浪费时间,故把所有的操作方法归于一段代码。各种方法详细分布于整段代码之中,便于复习和运用。
代码展示:
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int main(int argc,char *argv[])
{
string s;
//赋值方式(一)
s="123456";
//赋值方式(二)
char ss[100];
cin>>ss;
s=ss;
/*
*尾部追加字符串的方式有两种
*直接采用“+”操作符
*采用append()方法
*/
//从s的尾部追加字符
s=s+'a';
s=s+'b';
//从s的尾部追加字符串
s=s+"12233";
s=s+"444456";
//在s任意位置插入字符
String::iterator it=s.begin();
s.insert(it+1,'a');//在第1个字符前插入字符‘a’
s.insert(it+10,''b);//在第10个字符前插入字符‘b’
//append()方法
s.append("abc");//追加字符串“abc”到s的末尾
/*
*一般采用下标方式随机访问string对象的元素
*下标从0开始计算
*string对象的元素是一个char型字符
*两个相同的字符相减值为零
*/
//删除元素erase()
s.erase(it+3);//删除第三个元素
s.erase(it,it+4);//删除0-4区间上所有的元素
//清空字符串的方法
s="";
//返回字符串长度的方法
cout<<s.length()<<endl;
//字符串的判空
cout<<s.empty()<<endl;
//用replace()方法可以很方便的替换string对象中的字符
s.replace(3,3,"good");//从第三个字符开始将连续的三个字符替换为good
//用reverse()方法反向排序string对象
s.reverse(s.begin(),s.end());
/*
*string对象可以作为vector向量的元素,类似于字符串数组
vector< String> v;
v.push_back("芝加哥");
v.push_back("hello");
cout<<v[0]<<endl;
cout<<v[1]<<endl;
cout<<v[0][0]<<endl;//输出“芝”
cout<<v[1][0]<<endl;//输出“h”
*/
cout<<s<<" ";
return 0;
}
由于string系列容器的操作方法较多却零散,分开写代码比较浪费时间,故把所有的操作方法归于一段代码。各种方法详细分布于整段代码之中,便于复习和运用。
代码展示:
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int main(int argc,char *argv[])
{
string s;
//赋值方式(一)
s="123456";
//赋值方式(二)
char ss[100];
cin>>ss;
s=ss;
/*
*尾部追加字符串的方式有两种
*直接采用“+”操作符
*采用append()方法
*/
//从s的尾部追加字符
s=s+'a';
s=s+'b';
//从s的尾部追加字符串
s=s+"12233";
s=s+"444456";
//在s任意位置插入字符
String::iterator it=s.begin();
s.insert(it+1,'a');//在第1个字符前插入字符‘a’
s.insert(it+10,''b);//在第10个字符前插入字符‘b’
//append()方法
s.append("abc");//追加字符串“abc”到s的末尾
/*
*一般采用下标方式随机访问string对象的元素
*下标从0开始计算
*string对象的元素是一个char型字符
*两个相同的字符相减值为零
*/
//删除元素erase()
s.erase(it+3);//删除第三个元素
s.erase(it,it+4);//删除0-4区间上所有的元素
//清空字符串的方法
s="";
//返回字符串长度的方法
cout<<s.length()<<endl;
//字符串的判空
cout<<s.empty()<<endl;
//用replace()方法可以很方便的替换string对象中的字符
s.replace(3,3,"good");//从第三个字符开始将连续的三个字符替换为good
//用reverse()方法反向排序string对象
s.reverse(s.begin(),s.end());
/*
*string对象可以作为vector向量的元素,类似于字符串数组
vector< String> v;
v.push_back("芝加哥");
v.push_back("hello");
cout<<v[0]<<endl;
cout<<v[1]<<endl;
cout<<v[0][0]<<endl;//输出“芝”
cout<<v[1][0]<<endl;//输出“h”
*/
cout<<s<<" ";
return 0;
}
相关文章推荐
- eclipse快捷键大全
- PHP 大文件下载,文件传输,支持断点续传。 2g以上超大文件也有效
- java 类的几种关系
- Struts拦截器及Struts.xml文件详解(转载)
- Pat(Basic Level)Practice--1017(A除以B)
- 2.1 python中的print和raw_input语句 [python入门教程]
- C#获取本机可用端口
- hibernate、spring、c3p0整合
- 学习c++需要参考的几个网站
- Google Map API v2 步步为营(一) ----- 初见地图
- PHP实现对多维数组按照某个键值排序的两种解决方法
- 关注C++细节——抽象的理解
- Java 数据库操作
- PHP PDO函数库详解
- Metaprogramming in Python
- [转载]ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL
- Eclipse开发工具的EasyExplorer插件
- java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/Static
- php正则表达式匹配img中任意属性
- IO流3(OutputStreamWriter,改变标准输入输出流)