===6.3.2使用string对象===

string word="I love China"

*链接字符串*

string description=adjective  + " " + word;

_Note_: 不能连接两个字符串字面量,以下的语句是错误的

string test= "I have" + "a dream";

===6.3.3訪问字符串中的字符===

*读取字符串*

getline(cin, text);

getline(cin, text, '#')_;

word[index];

===6.3.4訪问子字符串===

* substr(index0, length);

string phrase = "the higher the fewer";

string wold= phrase.substr(4,6 );

===6.3.5比較字符串===

*操作符*

> >= < !=

*compare()*

world.compare("end");

word.compare(2, 4, "end");

===6.3.6搜索字符串:find===

string sentence = "Manners maketh man";

int a= sentence.find("man");

int b= sentence.find("man", index);//从index開始搜索

假设没有找到。返回~~string:npos~~

*搜索字符集*

string separeators= " ,.\"";

sentence.find_first_of(separeators);

sentence.find_last_of(separeators);

sentence.find_last_not_of(separeators);

sentence.find_first_not_of(separeators);

*逆向搜索*

sentence.rfind("man");

===6.3.7改动字符串:insert、replace、erase===

*1.insert*

_`mystring.insert(index, anotherstring)`

sentence.insert(13, world, 8, 5);//从index=8開始之后的5个字符

把几个同样字符串插入到string对象中:sentence.insert(index,times, string);

*2.replace*

将从index開始的num个字符,替换成新的string:sentence.replace(index, num, string);

*3.erase*

删除从index開始的num个字符:sentence.erase(index, num);

===6.3.8注意事项===



1) append函数与char 和char*

append函数的原型例如以下:

string& append (const string& str);

string& append (const string& str, size_t subpos, size_t sublen);

string& append (const char* s);

string& append (const char* s, size_t n);

string& append (size_t n, char c);

注意。char* 和char用作append的參数时候。比如,想在string尾部添加一个字符,须要用mystring.append(1, ch) 而不是mystring.apend(ch). 相同。想将chars的当中一部分插入string中。须要用mystring.append(s+a, b-a)

注意,假设只想添加一个字符。使用push_back就可以

string 具体解释

1.*string constructor*



default (1) string();

copy (2) string (const string& str);

substring (3) string (const string& str, size_t pos, size_t len = npos);

from c-string (4) string (const char* s);

from buffer (5) string (const char* s, size_t n);

fill (6) string (size_t n, char c);

range (7) template <class InputIterator>

  string  (InputIterator first, InputIterator last);

// string constructor
#include <iostream>
#include <string> int main ()
{
std::string s0 ("Initial string");
// constructors used in the same order as described above:
std::string s1;
std::string s2 (s0);
std::string s3 (s0, 8, 3);
std::string s4 ("A character sequence", 6);
std::string s5 ("Another character sequence");
std::string s6 (10, 'x');
std::string s7a (10, 42); // 42 is the ASCII code for '*'
std::string s7b (s0.begin(), s0.begin()+7);
std::cout << "s1: " << s1 << "\ns2: " << s2 << "\ns3: " << s3;
std::cout << "\ns4: " << s4 << "\ns5: " << s5 << "\ns6: " << s6;
std::cout << "\ns7a: " << s7a << "\ns7b: " << s7b << '\n';
return 0;
}
**output**:
s1:
s2: Initial string
s3: str
s4: A char
s5: Another character sequence
s6: xxxxxxxxxx
s7a: **********
s7b: Initial

2.迭代器:

begin();

end();





3.capacity:

size();

length();

clear();

empty();





4.Element Access:

operator[]

at()

back();

front();



5.Modifier

operator+=

append()

push_back()

assign()

insert()

erase()

replcace();

swap();

pop_back();



6.String Operations:

copy();

find();

find_first_of();

find_last_of();

find_first_not_of();

find_last_not_of();

substr();

compare();



7.Member constants:

npos





8.Non-member function overloads:

getline();

C++ 经常使用类 string类的更多相关文章

  1. C#部分---arraylist集合、arraylist集合中的object数据转换成int类string类等;间隔时间的表示方法;

    ArrayList和Array的区别: 相同点:1.两者都实现了IList.ICollection.IEnumerable接口:       2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值 ...

  2. Java 常用类String类、StringBuffer类

    常用类 String类.StringBuffer类 String代表不可变的字符序列 "xxxxxxx"为该类的对象 举例(1) public class Test { publi ...

  3. C# - 系统类 - String类

    String类 ns:System String类封装了一系列不能被改变的Unicode字符序列 字符属于引用类型 但它又具有值类型的行为 固定不变意味着 一旦在托管堆中分配了一块内存来存储字符 字符 ...

  4. java常用类-String类

    * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,我们可以知道 * A:字符串字面值"abc"也可以看成是一个字符串对象. * B:字符串是 ...

  5. java 中的Number类 Character类 String类 StringBuffer类 StringBuilder类

    1. Number类 Java语言为每一个内置数据类型提供了对应的包装类.所有的包装类(Integer.Long.Byte.Double.Float.Short)都是抽象类Number的子类.这种由编 ...

  6. 字符串类String类的判断功能

    StringDemo.java /* * Object:是类层级结构中的根类,所有的类都直接或间接的继承自该类. * 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象. ...

  7. [常用类]String 类

    String 字符串是常量,一旦被赋值,就不能被更改. String str = “abc”: // "abc" 可以堪称是一个字符串对象 str = “def“: // 当把 & ...

  8. JAVA集合类简要笔记 - 内部类 包装类 Object类 String类 BigDecimal类 system类

    常用类 内部类 成员内部类.静态内部类.局部内部类.匿名内部类 概念:在一个类的内部再定义一个完整的类 特点: 编译之后可生成独立的字节码文件 内部类可直接访问外部类私有成员,而不破坏封装 可为外部类 ...

  9. 常用类.String类

    package 常用类.String;import java.util.Arrays;import java.util.Locale;public class demo01 { public stat ...

  10. java11-1 最常见的类 String类

    字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. 通过查看API,可以知道 A:字符串字面值"abc"也可以看成是一个字符串对象. B:字符串是常量,一旦被赋值,就 ...

随机推荐

  1. Delphi内存操作API函数(备查,并一一学习)

    Delphi内存操作API函数System.IsMemoryManagerSet;System.Move;System.New;System.ReallocMem;System.ReallocMemo ...

  2. 贪吃蛇AI

    贪吃蛇AI 作者:CodeNoob 转载请标明作者和出处 序言 前几天在网上看到一张让人涨姿势的图片,这张图片我很早以前看过,当时就觉得肯定是程序实现的,只是当时还比较渣,不会算法.这次学了java也 ...

  3. LRU算法的设计

    一道LeetCode OJ上的题目,要求设计一个LRU(Least Recently Used)算法,题目描述如下: Design and implement a data structure for ...

  4. Mirantis Certification summary

    preface Mirantis Certification (MCA100 )summary roughly question types handy remain by Ruiy!

  5. start stack

    Start OpenStack Services After launching your stack by Devstack, you maybe stop some services or reb ...

  6. EGit with eclipse to clone project from GitHub(Step by step)

    转载请注明出处! 1. To find your project URL inside GitHub: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWF ...

  7. UI基础:UILabel.UIFont

    UILabel:标签 继承自UIView ,在UIView基础上扩充了显示文本的功能.(文本框) UILabel的使用步骤 1.创建控件 UILabel *aLabel=[[UILabel alloc ...

  8. Linux/UNIX进程控制(1)

    进程控制(1) 进程标识符 每一个进程都有肺腑的整形表示唯一的进程ID.按一个进程终止后,其进程ID就能够再次使用了.例如以下是几个典型进程的ID及其类型和功能. ID     进程名         ...

  9. redis的分布式解决方式--codis

    codis是豌豆荚开源的分布式server.眼下处于稳定阶段. 原文地址:https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh ...

  10. linux之vim配置

    代码自动补全和代码跳转阅读,应该是作为程序员最常用的功能之一了,具体二者是指什么我就不解释了.微软的Visual Studio就是靠这两样必杀技牢牢占据着广大windows程序员的心(这里面要有强大的 ...