===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. 创建一个ROS包

    先前笔者不知道catkin到底是个什么东东,后来终于在官方网站上找到了答案,原来catkin是ROS的一个官方的编译构建系统,是原本的ROS的编译构建系统rosbuild的后继者.catkin的来源有 ...

  2. php功能---删除空目录

    header('content-type:text/html;charset:utf-8'); function display($dir){ //判断是否是一个目录 if(!is_dir($dir) ...

  3. java如何引入接口中定义的常量

    接口 (A.java) : package config; public interface A { String PROJECT_ROOT_DIR = System.getProperty(&quo ...

  4. android-通知Notification

    发送通知 public class MyActivity extends Activity { @Override protected void onCreate(Bundle savedInstan ...

  5. Linux 下修改Tomcat使用的JVM内存大小

    我的服务器的配置: # OS specific support.  $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...

  6. Developing your first FNC custom control

    Friday, May 13, 2016 Some weeks ago, we released the TMS FNC UI Pack, a set of Framework Neutral Com ...

  7. 一个简单的反射连接程序(修改文件时间,以及创建Windows服务)

    program SvrDemo; uses  Windows,  WinSvc,  winsock; const  RegName = 'SvrDemo'; var  szServiceName: p ...

  8. oracle slient静默安装并配置数据库及仅安装数据库不配置数据库shell

    <1,>仅安装数据库软件不配置数据库 ./x86oracle.sh /ruiy/ocr/DBSoftware/app/oracle /ruiy/ocr/DBSoftware/app/ora ...

  9. URAL 1036(dp+高精度)

    Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Pract ...

  10. mysql安装详细步骤图解

    本文转自http://blog.csdn.net/fanyunlei/article/details/21454645 别看图多,其实mysql的安装十分简单,一路next即可,只是注意倒数第三步,设 ...