c++ primer(第五版)笔记 第九章 顺序容器(4)

31 篇文章 0 订阅
// string 操作
	// 修改操作
		// s.append(args)	在 s 末尾追加 args, 返回 s 的引用
		// s.replace(range, args)	将 range 范围替换为 args , 返回 s 的引用,range 可以是一个下标加一个长度也可以是一对迭代器
		// s.assign(args)	将 s 替换为 args 指定的字符, 返回 s 的引用
		// s.erase(pos, len)	删除从 pos 位置开始的 len 个字符,如果省略 len ,删除到末尾	
		// s.insert(pos, args)	在位置 pos 前插入 args 指定的字符,如果 p 是下标,返回 s 的引用,如果 p 是迭代器返回指向第一个插入字符的迭代器
		
		// append 和 assign 中,args 可以是以下任何形式(str 不同于 s,迭代器 b e 不能指向 s)
		// 1>	str				字符串 str
		// 2>	str,pos,len		str 中 pos 开始最多 len 个字
		// 3>	cp,len			cp 指向空字符结尾的字符数组,该数组的前 len 个字
		// 4>	cp
		// 5>	n,c				n 个字符 c
		// 6>	b,e				迭代器范围 b e 中的字符
		// 7>	初始化列表		花括号内,逗号分隔的字符列表
		
		// replace 和 insert 中 args 的形式取决于 range 和 pos
		// insert 中,如果 pos 是下标, args 可以是 1,2,3,5
				// 如果 pos 是迭代器, args 可以是 5,6,7
		// replace 中,如果 range 是下标和长度 args 可以是 1,2,3,4,5
			// 如果 pos 是一对迭代器, args 可以是 1,3,4,5,6,7
			
	// 搜索操作,大小写敏感
		// s.find(args)				查找 args 在 s 中第一次出现的位置
		// s.rfind(args)				查找 args 在 s 中最后一次出现的位置
		// s.find_first_of(args)		查找 args 中的任意字符在 s 中第一次出现的位置
		// s.find_last_of(args)		查找 args 中的任意字符在 s 中最后一次出现的位置
		// s.find_first_not_of(args)	在 s 中查找第一个不在 args 中字符
		// s.find_last_not_of(args)	在 s 中查找最后一个不在 args 中字符
		
		// args 可以是以下形式
			// c,pos		从 s 中位置 pos 开始查找 c 字符,pos 默认为 0
			// s2,pos		从 s 中位置 pos 开始查找 s2 字符串,pos 默认为 0
			// cp,pos		从 s 中位置 pos 开始查找指针 cp 指向的以空字符结尾的 c 风格字符串,pos 默认为 0
			// cp,pos,n	从 s 中位置 pos 开始查找指针 cp 指向的数组的前 n 个字符,pos n 无默认值
			
	// compare 函数
		// s.compare(s2)					比较 s s2
		// s.compare(pos1,n1,s2)			将 s 中 pos1 开始的 n1 个字符和 s2 比较
		// s.compare(pos1,n1,s2,pos2,n2)	将 s 中 pos1 开始的 n1 个字符和 s2 中 pos2 开始的 n2 个字符比较
		// s.compare(cp)					比较 s 和 c风格字符串
		// s.compare(pos1,n1,cp)			将 s 中 pos1 开始的 n1 个字符和 c风格字符串 比较
		// s.compare(pos1,n1,cp,n2)			将 s 中 pos1 开始的 n1 个字符和 c风格字符串的前 n2 个字符比较
		
	// 数值转换
		// to_string(val)		返回数值 val 的 string 表示,val 可以是任何算术类型
		// stoi(s,p,b)			s 字串的 int 数值,b 为转换用的基数,默认为 10,p 是 size_t指针,表示第一个非数值字符的下标,默认为0
		// stol(s,p,b)			s 字串的 long 数值	
		// stoul(s,p,b)			s 字串的 unsigned long 数值
		// stoll(s,p,b)			s 字串的 long long 数值
		// stoull(s,p,b)		s 字串的 unsigned long long 数值
		// stof(s,p)			s 字串的 float 数值	
		// stod(s,p)			s 字串的 double 数值	
		// stold(s,p)			s 字串的 long double 数值
	
#include<vector>
#include<string>
#include<iostream>

using std::vector;
using std::string;
using std::cout;
using std::endl;
using std::cin;

void practice_9_41();

int main()
{
	practice_9_41();
}

// 从一个 vector<char> 初始化字符串
void practice_9_41()
{
	vector<char> vc{'h','e','l','l','o',' ','w','o','r','l','d'};
	string s(&vc[0], vc.size());
	cout << s << endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值