标准库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 ...
随机推荐
- [BZOJ1492][NOI2007]货币兑换Cash(斜率优化+CDQ分治)
1492: [NOI2007]货币兑换Cash Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 5838 Solved: 2345[Submit][Sta ...
- POJ 1509 Glass Beads 后缀自动机 模板 字符串的最小表示
http://poj.org/problem?id=1509 后缀自动机其实就是一个压缩储存空间时间(对节点重复利用)的储存所有一个字符串所有子串的trie树,如果想不起来长什么样子可以百度一下找个图 ...
- 2015 UESTC 数据结构专题D题 秋实大哥与战争 变化版本的线段树,合并区间,单点查询
D - 秋实大哥与战争 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/59 D ...
- HDU 4705 Y (2013多校10,1010题,简单树形DP)
Y Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submiss ...
- DAC calibrates 4- to 20-mA output current
Industrial controls make heavy use of 4- to 20-mA current loops to transmit process measurements bec ...
- Caffe简单入门 AI
https://yq.aliyun.com/articles/112207?spm=5176.100239.bloglist.58.wN003U
- 使用Redisson实现分布式锁
原文:https://www.jianshu.com/p/cde0700f0128 1. 可重入锁(Reentrant Lock) Redisson的分布式可重入锁RLock Java对象实现了jav ...
- 查看系统自带的RPM
我在home目录下创建了目录mei 1.管理员权限 su 2.进入mei目录 cd /home/mei 3.创建cdrom目录作为挂载点 mkdir cdrom 4.把目录 /dev/cdrom-hd ...
- python笔记6-%u60A0和\u60a0类似unicode解码
前言 有时候从接口的返回值里面获取到的是类似"%u4E0A%u6D77%u60A0%u60A0"这种格式的编码,不是python里面的unicode编码. python里面的uni ...
- [翻译] SFRoundProgressCounterView 带有进度显示的倒计时视图
SFRoundProgressCounterView 带有进度显示的倒计时视图 https://github.com/simpliflow/SFRoundProgressCounterView A c ...