C++ string操作(转载)

1.string类的构造函数

1 string(const char * s); //用s字符串初始化
2 string(const string &s);//用string类的s初始化
3 string(int n, char c);//用n个字符c初始化

2.string类的字符操作

 1: const char &operator[](int n)const;
 2: const char &at(int n)const;
 3: char &operator[](int n);
 4: char &at(int n);
 5: //operator[]和at()均返回当前字符串中第n个字符的位置
 6: //但at函数提供范围检查,当越界时会抛出out_of_range异常
 7: //下标运算符[]不提供检查访问。
 8:
 9: const char *data()const;//返回一个非null终止的c字符数组
10: const char *c_str();//返回一个以null终止的c字符串
11: int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目

3.string类的属性操作

 1: int capacity() const; //返回当前容量(即string中不必增加内存即可存放的元素个数)
 2: int max_size() const;//返回string对象中可存放的最大字符串的长
 3: int size() const;//返回当前字符串的大小
 4: int length() const;//返回当前字符串的长度,目前所知,长度和大小没什么区别
 5: bool empty() const;//当前字符串是否为空   ‘
 6: void resize(int len, char c);//把当前字符串大小置为len,如果len比原字符串小,则从后面开始截断,如果比原字符串大,用字符c填充不足的部分。

4.string类的赋值操作

 1: string &operator=(const string &s);//把字符串s赋给当前字符串
 2: string &assign(const char *s);//用c类型字符串s赋值
 3: string &assign(const char *s,int n);//用c字符串s开始的n个字符赋
 4: string &assign(const string &s);//把字符串s赋给当前字符串
 5: string &assign(int n,char c);//用n个字符c赋值给当前字符串
 6: string &assign(const string &s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串
 7: string &assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串

5.string类的链接

 1: string &operator +=(const string &s);//把s连接到当前字符串的结
 2: string &append(const char *s);//把s连接到当前字符串的结尾
 3: string &append(const_iterator first, const_iterate last);//把迭代器first和last之间的部分连接到当前字符串的结尾

6.string类的比较

 1: bool operator==(const string &s1,const string &s2)const;//比较两个字符串是否相等
 2: //运算符">","<",">=","<=","!="均被重载用于字符串的比较;
 3: int compare(const string &s) const;//比较当前字符串和s的大小
 4: int compare(int pos, int n,const string &s)const;//比较当前字符串从pos开始的n个字符组成的字符串与s的大小
 5: int compare(int pos, int n,const string &s,int pos2,int n2)const;//比较当前字符串从pos开始的n个字符组成的字符串与s中pos2开始的n2个字符组成的字符串的大小
 6: int compare(const char *s) const;
 7: int compare(int pos, int n,const char *s) const;
 8: int compare(int pos, int n,const char *s, int pos2) const;
 9: //compare函数在>时返回1,<时返回-1,==时返回0

7.string类的子串

1: string substr(int pos = 0, int n = npos) const; // 返回pos开始的n个字符组成的字符串

8.striing类的交换

1: void swap(string &s2); //交换当前字符串与s2的值

9.string类的查找函数

 1: int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置
 2: int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置
 3: int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置
 4: int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置
 5: //查找成功时返回所在位置,失败返回string::npos的值
 6:
 7: int rfind(char c, int pos = npos) const;//从pos开始从后向前查找字符c在当前串中的位置
 8: int rfind(const char *s, int pos = npos) const;
 9: int rfind(const char *s, int pos, int n = npos) const;
10: int rfind(const string &s,int pos = npos) const;
11: //从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值
12:
13: int find_first_of(char c, int pos = 0) const;//从pos开始查找字符c第一次出现的位置
14: int find_first_of(const char *s, int pos = 0) const;
15: int find_first_of(const char *s, int pos, int n) const;
16: int find_first_of(const string &s,int pos = 0) const;
17: //从pos开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。查找失败返回string::npos
18:
19: int find_first_not_of(char c, int pos = 0) const;
20: int find_first_not_of(const char *s, int pos = 0) const;
21: int find_first_not_of(const char *s, int pos,int n) const;
22: int find_first_not_of(const string &s,int pos = 0) const;
23: //从当前串中查找第一个不在串s中的字符出现的位置,失败返回string::npos
24:
25: int find_last_of(char c, int pos = npos) const;
26: int find_last_of(const char *s, int pos = npos) const;
27: int find_last_of(const char *s, int pos, int n = npos) const;  28: int find_last_of(const string &s,int pos = npos) const;
29:
30: int find_last_not_of(char c, int pos = npos) const;
31: int find_last_not_of(const char *s, int pos = npos)
32: int find_last_not_of(const char *s, int pos,  int n)
33: int find_last_not_of(const string &s,int pos = npos)
34: //find_last_of和find_last_not_of与find_first_of和

10.string类的替换函数

 1: string &replace(int p0, int n0,const char *s);//删除从p0开始的n0个字符,然后在p0处插入串s
 2: string &replace(int p0, int n0,const char *s, int n);//删除p0开始的n0个字符,然后在p0处插入字符串s的前n个字符
 3: string &replace(int p0, int n0,const string &s);//删除从p0开始的n0个字符,然后在p0处插入串s
 4: string &replace(int p0, int n0,const string &s, int pos, int n);//删除p0开始的n0个字符,然后在p0处插入串s中从pos开始的n个字符
 5: string &replace(int p0, int n0,int n, char c);//删除p0开始的n0个字符,然后在p0处插入n个字符c
 6: string &replace(iterator first0, iterator last0,const char *s);//把[first0,last0)之间的部分替换为字符串s
 7: string &replace(iterator first0, iterator last0,const char *s, int n);//把[first0,last0)之间的部分替换为s的前n个字符
 8: string &replace(iterator first0, iterator last0,const string &s);//把[first0,last0)之间的部分替换为串s
 9: string &replace(iterator first0, iterator last0,int n, char c);//把[first0,last0)之间的部分替换为n个字符c
 10: string &replace(iterator first0, iterator last0,const_iterator first, const_iterator last);//把[first0,last0)之间的部分替换成[first,last)之间的字符串

11.string类的插入函数

 1: string &insert(int p0, const char *s);
 2: string &insert(int p0, const char *s, int n);
 3: string &insert(int p0,const string &s);
 4: string &insert(int p0,const string &s, int pos, int n);
 5: //前4个函数在p0位置插入字符串s中pos开始的前n个字符
 6: string &insert(int p0, int n, char c);//此函数在p0处插入n个字符
 7: iterator insert(iterator it, char c);//在it处插入字符c,返回插入后迭代器的位置
 8: void insert(iterator it, const_iterator first, const_iterator last);//在it处插入[first,last)之间的字符
 9: void insert(iterator it, int n, char c);//在it处插入n个字符c

12.string类的删除函数

 1: iterator erase(iterator first, iterator last);//删除[first,last)之间的所有字符,返回删除后迭代器的位置
 2: iterator erase(iterator it);//删除it指向的字符,返回删除后迭代器的位置
 3: string &erase(int pos = 0, int n = npos);//删除pos开始的n个字符,返回修改后的字符串 

13.string类的迭代器处理

 1: //string类提供了向前和向后遍历的迭代器iterator,迭代器提供了访问各个字符的语法,类似于指针操作,迭代器不检查范围。
 2: //用string::iterator或string::const_iterator声明迭代器变量,const_iterator不允许改变迭代的内容。常用迭代器函数有:
 3: const_iterator begin()const;
 4: iterator begin();                //返回string的起始位置
 5: const_iterator end()const;
 6: iterator end();                    //返回string的最后一个字符后面的位
 7: const_iterator rbegin()const;
 8: iterator rbegin();                //返回string的最后一个字符的位置
 9: const_iterator rend()const;
10: iterator rend();                    //返回string第一个字符位置的前面
11: //rbegin和rend用于从后向前的迭代访问,通过设置迭代器string::reverse_iterator,string::const_reverse_iterator实现 
时间: 2024-10-19 18:37:20

C++ string操作(转载)的相关文章

js 时间操作 转载

Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1970-????)myDate.getMonth();       //获取当前月份(0-11,0代表1月)myDate.getDate();        //获取当前日(1-31)myDate.getDay();         //获取当前星期X(0-6,0代表

GridView编辑删除操作 (转载)

第一种:使用DataSource数据源中自带的编辑删除方法,这种不常用,在这里就不加说明了. 第二种:使用GridView的三种事件:GridView1_RowEditing(编辑).GridView1_RowUpdating(更新).GridView1_RowCancelingEdit(取消编辑).GridView1属性中将DataKeyNames的值设置为主键名,否则找不到索引,这个很重要哦. 该方法有2种操作,一种是不对绑定列转换为模板列,另外一种是转换为模板列. 这里先说不转换为模板列的

c++ --string操作

顺序容器--额外的string操作 除了顺序容器共同的操作之外,string类型还提供了一些额外的操作.这些操作中大致可以分为两部分: 1. 提供string类和C风格字符出租之间的相互转换: 2. 增加了允许我们用下标代替迭代器的版本. 构造string的其他方法 构造string的其他方法             n,len2和pos2都是无符号值                                                                         

【足迹C++primer】28、额外的string操作

额外的string操作 构造string的其他方法 //n, len2, pos2 都是无符号值 string s(cp, n) //s是cp指向的数组中前n个字符的拷贝.此数组至少应该包含n个字符 string s(s2, pos2) //s是string s2从下标pos2开始的字符的拷贝. string s(s2, pos2, len2) //s是s2从pos2开始Len2个字符 const char *cp="Hello World!!!"; //以空字符结束的数组 char

SqlServer中的merge操作(转载)

SqlServer中的merge操作(转载) 今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在technet上搜索发现别有洞天,原来是另外一个sql关键字,t-sql的语法还是相当地丰富的.本篇是一篇学习笔记,没有什么新意,这里给出technet上的地址连接供大家参考权威:http://technet.microsoft.com/zh-cn/library/bb510625.aspx,这里具体的语法不去深究了,只是把几个例

【转载】 C++ stl string 操作

总结一下C++中string的操作,来自〈C++ Primer〉第四版. 1. string对象的定义和初始化: 12345678910111213 string s1; //空串string s2(s1); //将s2初始化为s1的一个副本string s3("value"); //s3初始化并赋值string s4(n,"c"); //s4初始化,赋值为n个'c'string s5(b,e); //初始化s5为迭代器b,e范围内的副本string s6(cp);

Mongodb基础用法及查询操作[转载]

插入多条测试数据> for(i=1;i<=1000;i++){... db.blog.insert({"title":i,"content":"mongodb测试文章.","name":"刘"+i});                                                      ... } db.blog.list.find().limit(10).forEach(

Zookeeper的shell操作(转载)

转载自: http://www.cnblogs.com/sunddenly/p/4031881.html 2.1.1 Zookeeper命令工具 再启动Zookeeper服务之后,输入以下命令,连接到Zookeeper服务: zkCli.sh -server localhost:2181 连接成功之后,系统会输出Zookeeper的相关环境及配置信息,并在屏幕输出"welcome to Zookeeper!"等信息.输入help之后,屏幕会输出可用的Zookeeper命令,如下图所示

ii2数据库操作(转载)

开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的" Web 应用是 config/web.php),DSN( Data Source Name )是数据源名称,用于指定数据库信息.如下所示: return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbna