C++ 经常使用类 string类
===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类的更多相关文章
- C#部分---arraylist集合、arraylist集合中的object数据转换成int类string类等;间隔时间的表示方法;
ArrayList和Array的区别: 相同点:1.两者都实现了IList.ICollection.IEnumerable接口: 2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值 ...
- Java 常用类String类、StringBuffer类
常用类 String类.StringBuffer类 String代表不可变的字符序列 "xxxxxxx"为该类的对象 举例(1) public class Test { publi ...
- C# - 系统类 - String类
String类 ns:System String类封装了一系列不能被改变的Unicode字符序列 字符属于引用类型 但它又具有值类型的行为 固定不变意味着 一旦在托管堆中分配了一块内存来存储字符 字符 ...
- java常用类-String类
* 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,我们可以知道 * A:字符串字面值"abc"也可以看成是一个字符串对象. * B:字符串是 ...
- java 中的Number类 Character类 String类 StringBuffer类 StringBuilder类
1. Number类 Java语言为每一个内置数据类型提供了对应的包装类.所有的包装类(Integer.Long.Byte.Double.Float.Short)都是抽象类Number的子类.这种由编 ...
- 字符串类String类的判断功能
StringDemo.java /* * Object:是类层级结构中的根类,所有的类都直接或间接的继承自该类. * 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象. ...
- [常用类]String 类
String 字符串是常量,一旦被赋值,就不能被更改. String str = “abc”: // "abc" 可以堪称是一个字符串对象 str = “def“: // 当把 & ...
- JAVA集合类简要笔记 - 内部类 包装类 Object类 String类 BigDecimal类 system类
常用类 内部类 成员内部类.静态内部类.局部内部类.匿名内部类 概念:在一个类的内部再定义一个完整的类 特点: 编译之后可生成独立的字节码文件 内部类可直接访问外部类私有成员,而不破坏封装 可为外部类 ...
- 常用类.String类
package 常用类.String;import java.util.Arrays;import java.util.Locale;public class demo01 { public stat ...
- java11-1 最常见的类 String类
字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. 通过查看API,可以知道 A:字符串字面值"abc"也可以看成是一个字符串对象. B:字符串是常量,一旦被赋值,就 ...
随机推荐
- 面试题之 query转为obj
要注意处理编码后的字串 对于a=123要得到number形的值 function parseQueryString(url) { var obj = {}; var query = url.sear ...
- Nancy之实现API
Nancy之实现API的功能 0x01.前言 现阶段,用来实现API的可能大部分用的是ASP.NET Web API或者是ASP.NET MVC,毕竟是微软官方出产的,用的人也多. 但是呢,Nancy ...
- 普通内存、ECC内存和REG ECC内存有什么不同
都知道,在INTEL平台,北桥负责与CPU的联系,并控制内存.AGP.PCI数据在北桥内部传输.基本上只要主板芯片组确定,那么其支持的内存类型也就确定了. INTEL芯片组划分的很清楚,865PE属于 ...
- NAND Flash中常用的纠错方式(ECC算法)
Hanming,RS,BCH —— NAND Flash中常用的纠错方式 因为闪存中会有出错的可能,如果没有使用ECC模块,读出的数据和写入的数据会有不匹配的可能,也许一个文件中只有一两个bit不匹配 ...
- UVA 11475 Extend to Palindrome(后缀数组+ST表)
[题目链接] http://acm.hust.edu.cn/vjudge/problem/27647 [题目大意] 给出一个字符串,要求在其后面添加最少的字符数,使得其成为一个回文串.并输出这个回文串 ...
- Spring 上下文
Spring 上下文WebApplicationContext.是服务器启动的时候加载ContextLoaderListener 的时候存在 ServletContext 中 servletConte ...
- 窗函数的C语言实现
一般的讲数字信号处理的书中都会提到窗函数.大多数只会提及其中的几种.这里我把这些窗都用C语言实现了一下,都不复杂,但如果要自己去弄也挺费时间.所有函数都用Matlab验证了.包括以下窗: /*窗类型* ...
- FastCGI | FastCGI -
FastCGI | FastCGI - FastCGI About FastCGI FastCGI is simple because it is actually CGI with only a f ...
- 详解Objective-C中委托和协议
Objective-C委托和协议本没有任何关系,协议如前所述,就是起到C++中纯虚类的作用,对于“委托”则和协议没有关系,只是我们经常利用协议还实现委托的机制,其实不用协议也完全可以实现委托. AD: ...
- ostringstream的使用方法
ostringstream的使用方法 [本文来自]http://www.builder.com.cn/2003/0304/83250.shtml http://www.cppblog.com/alan ...