标准库string类型
一、string 对象的定义和初始化的方式
1、 string s1;
2、 string s2(s1);
3、 string s3("hello");
4、 string s4(n,'c'); //将s4初始化为字符'c'的n个副本
二、string 对象的读写
1、读入未知数目的string对象
例: int main()
{
string word;
while(cin>>word)
cout<<word<<endl;
return 0;
}
2、用getline读取整行文本
getline函数接受二个参数:一个输入流对象和一个string对象.遇到换行符停止
例:int main()
{
string line;
while(getline(cin,line))
cout<<line<<endl;
return 0;
}
三、string 对象中字符的处理
对string对象中的单个字符处理的的函数一般都在cctype头文件中
cctype中定义的函数:
isalnum(c) //若c是字母或数字,则为true。
isalpha(c) //若c是字母。则为true。
iscntrl(c) //若c是控制字符,则为true。
isdigit(c) //若c是数字,则为true。
isgraph(c) //若c不是空格,但可打印,则为true。
islower(c) //若c是小写字母,则为true。
ispunct(c) //若c是标点符号,则为true。
isspace(c) //若c是空白字符,则为true。
isupper(c) //若c是大写字母,则为true。
isxdigit(c) //若c是十六进制数,则为true。
tolower(c) //若c是大写字母,则返回小写字母形式,否则直接返回c。
toupper(c) //若c是小写字母,则返回其大写字母形式,否则直接返回c。
例:统计字符串中标点符号的个数
string s("hello world!!!!");
string::size_type punct_cnt=0;
for(string::size_type index=0;index!=s.size();+index)
if(ispunct(s[index]))
++punct_cnt;
cout<<punct_cnt<<endl;
整理一下这些东西,相信以后用得着。。。。。
标准库string类型的更多相关文章
- C++标准库string类型
string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作.标准库string类型的目的就是满足对字符串的一般应用. 本文地址:http://www.cn ...
- 【C++ Primer每日刷】之三 标准库 string 类型
标准库 string 类型 string 类型支持长度可变的字符串.C++ 标准库将负责管理与存储字符相关的内存,以及提供各种实用的操作.标准库string 类型的目的就是满足对字符串的一般应用. 与 ...
- 把《c++ primer》读薄(3-1 标准库string类型初探)
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 问题1:养成一个好习惯,在头文件中只定义确实需要的东西 using namespace std; //建议需要什么再using声 ...
- C++标准库string类型的使用和操作总结
string是C++标准库最重要的类型之一,string支持长度可变的字符串,其包含在string头文件中.本文摘自<C++PRIMER 第四版·特别版>和个人的一些总结. 一.声明和初始 ...
- 标准库string类型简述
若想使用标准库的string类需要使用如下声明: #include <string> Using std::string: Using std::wstring: 那么就可以使用这两个类了 ...
- C++标准库vector类型的使用和操作总结
vector是一种类型对象的集合,它是一种顺序容器,容器中的所有对象必须都是同一种类型.想了解顺序容器的更多内容:C++顺序容器知识总结.vector的对象是可以动态生长的,这说明它在初始化时可以不用 ...
- 把《c++ primer》读薄(3-3 标准库bitset类型)
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. //开头 #include <bitset> using std::bitset; 问题1.标准库bitset类型( ...
- C++标准库<string>简单总结
C++标准库<string>简单总结 在C++中,如果需要对字符串进行处理,那么它自带的标准库<string>无疑是最好的选择,它实现了很多常用的字符处理函数. 要想使用标准C ...
- C 标准库 - string.h
C 标准库 - string.h This header file defines several functions to manipulate C strings and arrays. stri ...
随机推荐
- Appium robotframework-appium (ios 客户端测试)环境搭建
一. 简介 1.1摘要 本人测试新人,最近在搞ios客户端的自动化,准备采用robotframework-appium来实现自动化测试,一边学习一边总结,此安装说明文档是基于mac系统10.11版本, ...
- MySQL 之 多表查询
一.多表联合查询 #创建部门CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dname V ...
- [BZOJ3143][HNOI2013]游走(期望+高斯消元)
3143: [Hnoi2013]游走 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3576 Solved: 1608[Submit][Status ...
- 2018/3/18 noip模拟赛 20分
T1 dp,特别裸特别简单,我放弃了写了个dfs. T2 树归,特别裸特别简单,我不会写. T3 贪心二分不知道什么玩意儿反正不会写就对了. 我是个智障
- POJ3710 Christmas Game 博弈论 sg函数 树的删边游戏
http://poj.org/problem?id=3710 叶子节点的 SG 值为0:中间节点的SG值为它的所有子节点的SG值加1后的异或和. 偶环可以视作一个点,奇环视为一条边(连了两个点). 这 ...
- Language Modeling---NLP学习笔记(原创)
本栏目来源于对Coursera 在线课程 NLP(by Michael Collins)的理解.课程链接为:https://class.coursera.org/nlangp-001 1. 语言模型定 ...
- <摘录>linux文件IO
这篇文章写的比较全面,也浅显易懂,备份下.转载自:http://blog.chinaunix.net/uid-27105712-id-3270102.html 在Linux 开发中,有几个关系到性能的 ...
- IPC low/medium/high density 什么意思?
http://wiki.altium.com/pages/viewpage.action?pageId=3080344 Land Pattern Information Density Level A ...
- poj 3131 双向搜索+hash判重
题意: 初始状态固定(朝上的全是W,空格位置输入给出),输入初始状态的空格位置,和最终状态朝上的位置,输出要多少步才能移动到,超过30步输出-1. 简析: 每一个格子有6种状态,分别是 0WRB, 1 ...
- GCC降级
前阵子将Ubuntu升级到了12.04,原来装得virtualbox也可以正常使用.后来几次内核升级之后,virtualbox突然不能用了.virtualbox提示进行/etc/init.d/vbox ...