标准库类型string
2016-06-28 11:06
239 查看
头文件 #include<string>
命名空间:std
初始化:需要注意的是 string s(10,‘c’);//s是由10个c组成的串。 string(10)是错误的,这和vector有点区别;
string对象上的操作
读写
os<<s
is>>s
getline(is,s)
这里要注意的是缓冲的存在,还要注意的是>>读之后,换行符还在缓冲区。getline读一行后,换行符被丢弃。
string.empty()
string.size()
这里要注意的是string.size() 的返回值类型。为了体现标准库类型与机器无关的特性,string类定义了一个其配套的类型 string::size_type。虽然不知道它的细节,但是确定的是它是一个无符号类型的值。这时候auto和decltype有了用武之地。例如
auto len =line.size();
两个string对象的相加 s1+s2
string和字面值相加s1+="123"注意 s1=“s”+“b”+s2是错误的。
==,!=,<,<=,>,>=
处理string对象中的字符
这个时候用到一个c的库函数
#include<cctype>
c++11提出一种新的语句:范围for语句。
for(declaration:expression)
statement
例如string str(“something”);
for (auto c :str)
cout<<c<<endl;
用下标访问字符串中的字符。s
命名空间:std
初始化:需要注意的是 string s(10,‘c’);//s是由10个c组成的串。 string(10)是错误的,这和vector有点区别;
string对象上的操作
读写
os<<s
is>>s
getline(is,s)
这里要注意的是缓冲的存在,还要注意的是>>读之后,换行符还在缓冲区。getline读一行后,换行符被丢弃。
string.empty()
string.size()
这里要注意的是string.size() 的返回值类型。为了体现标准库类型与机器无关的特性,string类定义了一个其配套的类型 string::size_type。虽然不知道它的细节,但是确定的是它是一个无符号类型的值。这时候auto和decltype有了用武之地。例如
auto len =line.size();
两个string对象的相加 s1+s2
string和字面值相加s1+="123"注意 s1=“s”+“b”+s2是错误的。
==,!=,<,<=,>,>=
处理string对象中的字符
这个时候用到一个c的库函数
#include<cctype>
c++11提出一种新的语句:范围for语句。
for(declaration:expression)
statement
例如string str(“something”);
for (auto c :str)
cout<<c<<endl;
用下标访问字符串中的字符。s
相关文章推荐
- UILabel 高度或宽度一定 修改另一方
- 栈与队列--置空/销毁-栈/队列
- 大数乘法与大数加法 java实现
- Android Studio目录结构
- Aspose.Cells 读取受保护有密码的Excel文件
- 手机usb有线上网
- ViewPager无限轮播
- 面试题之数三退一智力游戏
- TP框架验证码及文件上传
- Socket编程模式理解与对比
- 操作系统——CPU、计算机的构成
- 软件安装 [HAOI2010,Bzoj2427]
- 异常集合
- 图论小系统
- AR技术之--基于opencv的人脸识别(四)
- JavaScript中点击事件的写法
- 面试题之数三退一智力游戏
- EJB 企业级应用的架构(3)
- 关于button的自动刷新
- ASP.Net MVC开发基础学习笔记(1):走向MVC模式