STRING初步
2015-10-29 09:07
239 查看
NOIP复习之string初步
一.头文件:
二.常用函数:
begin 返回指向字符串开头的迭代器
end 返回指向字符串结尾的迭代器
size 返回字符串的大小
empty 判断是否为空(空则返回1,速度快于size)
insert 插入字符
push_back 在尾端插入字符(相当于insert(s.end(),c))
erase 删除字符串
clear 清空字符容器中所有内容
replace 把第i个元素到第j个元素替换成s字符串
find 从某个位置开始查找s子串开头的位置(失败返回-1)
substr 返回i位置到第j位置的子串
compare 比较字符串的大小(字典序)
getline 通过某种方式读入一行字符串
stream << 把字符串读入流中(可读入int,double)
stream >> 把字符串输出(可输出int,double)
三.字符串运算
1.加法
屏幕会显示:
abcde
deabc
2.比较
字符串比较按字典序:
(1).字符串短的小,长的大。
(2).字典序在前的小,在后面的大。
四.构造函数
然而,即使输入同样的字符串,上述代码中1.c 和 2.b 也不一样。
原因是1中是从第5个字符开始取,2中是取前五个字符。
五.一些常用代码
PS:虽然string和sstream都很方便,但string很慢,sstream更慢,应谨慎使用。————摘自刘汝佳白皮书
一.头文件:
#include <string> #include <sstream>
二.常用函数:
begin 返回指向字符串开头的迭代器
end 返回指向字符串结尾的迭代器
size 返回字符串的大小
empty 判断是否为空(空则返回1,速度快于size)
insert 插入字符
push_back 在尾端插入字符(相当于insert(s.end(),c))
erase 删除字符串
clear 清空字符容器中所有内容
replace 把第i个元素到第j个元素替换成s字符串
find 从某个位置开始查找s子串开头的位置(失败返回-1)
substr 返回i位置到第j位置的子串
compare 比较字符串的大小(字典序)
getline 通过某种方式读入一行字符串
stream << 把字符串读入流中(可读入int,double)
stream >> 把字符串输出(可输出int,double)
三.字符串运算
1.加法
string a = "abc" , b = "de"; cout << a + b << "\n" << b + a ;
屏幕会显示:
abcde
deabc
2.比较
字符串比较按字典序:
(1).字符串短的小,长的大。
(2).字典序在前的小,在后面的大。
四.构造函数
1. string x; cin >> x; string a = x , b(x) , c(x,5); cout << a << ' ' << b << ' ' << c; 2. char x[99]; cin >> x; string a(x) , b(x,5); cout << a << ' ' << b;
然而,即使输入同样的字符串,上述代码中1.c 和 2.b 也不一样。
原因是1中是从第5个字符开始取,2中是取前五个字符。
五.一些常用代码
//1.迭代器使用: for(string::iterator it = a.begin(); it < a.end(); ++it); //2.不用迭代器的遍历: for(int i = 0; i < a.size(); ++i); //3.stream用法 string line; while(getline(cin, line)) { int sum = 0, x; stringstream ss(line); while(ss >> x) sum += x; cout << sum << "\n"; }
PS:虽然string和sstream都很方便,但string很慢,sstream更慢,应谨慎使用。————摘自刘汝佳白皮书
相关文章推荐
- POJ 3468(区间更新)
- Android开发初级阶段笔记(持续更新)
- 在viewpager中动态添加view,并实现伪无限循环
- ARC MRC的转换
- Reactor模式和Preactor模式
- iOS多线程编程之NSOperation和NSOperationQueue的使用
- 错误:_runWithMainScene:transitionContext:completion:
- iOS 六种手势
- 用例设计大全(整理)
- 对软件项目管理的几点认识
- 13.缓存、三级缓存、内存溢出、AsyncTask
- java 冒泡排序
- 谈谈 watchOS 2:架构变化和开发注意事项
- 源码推荐(10.29):cell下拉点击,高仿百度糯米iOS
- javascript简单的表单验证
- 数字在排序数组中出现的次数 (递进的方法整理)
- 你真的会玩SQL吗?和平大使 内连接、外连接
- Taum and B'day
- iOS设置LaunchScreen后真机启动画面为黑屏的解决办法
- ASP.NET动态添加控件(感想)