C++Primer学习札记_标准库String类
来源:互联网 发布:vr与游戏美工 编辑:程序博客网 时间:2024/05/16 08:36
一 标准string类型
string 类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。用户如果想使用string类型对象,必须包含相关头文件。
#include<string> using std::string;
二 string对象的定义及初始化
string标准库支持几个构造函数如下:
string s1;//将s1初始化为空串 string s2(s1);//将s2初始化为s1string s3("value");//将s3初始化为一个字符串面值的副本string s4(n,'c');//将s4初始化为字符'c'的n个副本
三 string对象的读写
#include<iostream>#include<string> using namespace std;int main(){ string s; while(cin>>s) cout<<s<<endl; return 0;}
1.读取并忽略开头所有的空白字符(空格,换行,制表等)2.读取字符直至再次遇到空白字符,读取终止。
3.string 的输入操作符也会返回所读数据流,因此可以用来作为判断条件。
#include<iostream>#include<string> using namespace std;int main(){ string s; while(getline(cin,s)) cout<<s<<endl; return 0;}
1.getline接受两个参数:一个输入流对象和一个string对象2.getline并不忽略开头的空白字符,换行符等。只要getline遇到换行符,即便是第一个字符,getline会停止读取,string被置为空。
3.getline函数返回时丢弃换行符。
四 string对象的操作
s.empty();//若s为空,返回true,非空,返回falses.size();//返回s中字符的个数s[n];//返回s中位置为n的字符,位置从0开始计数s1+s2;//s1和s2连接成一个字符串,返回新的字符串s1=s2;//s1的内容替换为s2的副本s1==s2;//比较s1,s2的内容,相等返回true!=,<,<= ,>,>= //都保持为操作符惯有的含义
注:size()函数的返回值似乎是整形值,但事实上,size操作返回的是string::size_type类型,这是为了适用于不同的机器。因此不要把size的返回值赋给一个int变量;
五 string对象的字符的处理
经常要对string对象中的单个字符串进行处理,判断是否为空格,是否为字母等,cctype提供一系列非常好用的函数。
isalnum(c);//c为数字或字符,返回trueisalpha(c);//c为字母,返回trueiscntrl(c);//c为控制字符,返回trueisdigit(c);//c为数字,返回trueisgraph(c);//c不是空格,可以打印,返回trueislower(c);//c为小写字母,返回trueisprint(c);//c为可打印字符,返回trueispunct(c);//c为标点符号,返回trueisspace(c);//c为空白字符,返回trueisupper(c);//c为大写字母,返回trueisxdigit(c);//c为十六进制数,返回truetolower(c);//c为大写,则返回小写形式,否则直接返回大写toupper(c);//c为小写,则返回大写形式,否则直接返回小写
注:建议采用C标准库头文件的C++版本,C++标准库除了定义一些特定于C++的设施外,还定义了C标准库。C标准头文件命名格式为 name.h,而C++为cname。一般来说,cname和name.h 内容是一样的,但特别的,cname中定义的名字都在命名空间std内,而name.h的名字却不是,所以,尽量采用cname这种形式的头文件。
0 0
- C++Primer学习札记_标准库String类
- C++Primer学习札记_标准bitset库
- c++ primer学习笔记6_标准库string
- C++Primer学习札记_指针和const限定符
- c++primer学习笔记(3.2)标准库string类型
- c++primer学习笔记-----3.2标准库类型string
- C++ Primer学习札记_快速入门
- c++_标准库类型string
- C++primer 3.2 标准库类型string(sizeof的使用)
- c++primer笔记--3.2标准库类型string
- [C/C++标准库]_[初级]_[使用string stream]
- c++ primer学习笔记3-标准库类型string&vector
- C++ primer阅读笔记之标准库String类型学习
- 2012/2/7 《C++ Primer Plus》第十六章:string类和标准模板库 学习笔记
- 《C++ primer plus》第十六章:string类和标准模板库(一) 学习笔记
- 《C++ primer plus》第十六章:string类和标准模板库(二) 学习笔记
- 《C++ primer plus》第十六章:string类和标准模板库(三) 学习笔记
- C标准库学习string.h
- Binary Tree Inorder Traversal
- ubuntu 12.04下 Common-solution
- 内核模式下的文件操作
- VC/MFC开发中的句柄HWND
- apue.h包头找不到的问题
- C++Primer学习札记_标准库String类
- linux yum命令详解
- Android 设置默认Launcher
- 我的debian7.2-kde版配置过程。
- 异常/usr/bin/install: cannot create regular file `/usr/local/jpeg6/include/jconfig.h'
- 类目、延展、协议
- uva 618 - Doing Windows(暴力+数学)
- startKIT 八核开发板 xmos最新低成本多核实时IO解决方案
- SQL limit关键字