小猪猪逆袭成博士之C++基础篇(三)字符串
小猪猪逆袭成博士之C++基础篇(三)字符串
String
写在题外的话:
非常感谢在我发了第一篇随笔以后有很多人看还评论了,这大概就是一种笔记性质的,也不一定全对,如果不对的地方请指出来让我加以改正。有时候自己心里明白在写的时候说不清楚,有时候不明白的写的时候慢慢就清楚了,还有的是不太明白写也没有写清楚。非常感谢各位能够抽时间看文章并且写评论,有什么理解不对的地方请指出来,喷的有道理我一定会虚心接受的!
字符串类型是我们经常用到的,下面介绍一些平时常用的功能。
String需要包含的头文件:#include <string>
一、一些基本的操作
1、String 的初始化大概有以下几种:
string s1;
cout<<"s1:"<<s1<<endl;
string s2="aaa";
cout<<"s2:"<<s2<<endl;
string s3(s2);
cout<<"s3:"<<s3<<endl;
string s4=s3;
cout<<"s4:"<<s4<<endl;
//string前10个都是b
string s5(10,'b');
cout<<"s5:"<<s5<<endl;
string s6("ccc");
cout<<"s6:"<<s6<<endl;

2、值得注意的是:如果cin一个字符串,string对象会自动忽略开头的空白,并从第一个真正的字符开始读起,例如我们输入一个“ hello world”;会输出”hello”。
string s1;
cin>>s1;
cout<<s1;

那么我们想保留这些空格怎么办,用getline语句
string s1;
getline(cin,s1);
cout<<"getline:"<<s1;

这个地方的getline(cin,s1); cin不一定是cin,任何一种输入流都可以。
3、
s1.empty();//如果s1是空则返回flase,否则true;
s1.size();//返回字符长度
这里注意size()返回的是一个正整数,无符号的,所以根据第一章所述,不能跟负数一起操作!!!
4、判断字符串大小是根据字典顺序的,例如apple和boy就是boy大。
string s1="apple";
string s2="boy";
cout<<"size:"<<s1.size()<<endl;

//判断大小
if(s1>s2)cout<<"s1 is bigger"<<endl;
else cout<<"s2 is bigger"<<endl;

5、加号两个字符串相接
s1=s1+s2;
cout<<s1<<endl;

6、取字符:注意这里第一个字符是0.
char c=s1[4];
cout<<"c:"<<c<<endl;

7、一些常用的函数:头文件#include <cctype>
isalnum(c);//判断数字或者字母
isalpha(c);//判断字母
iscntrl(c);//控制符
isdigit(c);//数字
islower(c);//小写字母
isupper(c);//大写字母
isspace(c);//空格
tolower(c);//大写转小写
toupper(c);//小写转大写
8、C风格字符串
简单的说,C风格字符串就是一个char型的数组。我们把这些字符放在数组中,在最后一个字符后面跟一个’\0’表示字符串的结束。
C风格字符串不要想多了,就是一个char型的数组,跟数组的原理相同,并且适用C风格字符串函数:strlen(p)、strcmp(p1,p2)、strcar(p1,p2)、strcpy(p1,p2)等。虽然是这样,但是它本身还是个数组。
String型可以转化成C风格字符串,用c_str()可以转化。当然了如果能用string型的话string比char*是方便了许多。
小猪猪逆袭成博士之C++基础篇(三)字符串的更多相关文章
- 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则
小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...
- 小猪猪逆袭成博士之C++基础篇(二) 常量、处理类型、自定义头文件
小猪猪逆袭成博士之C++基础篇(二) const .auto. decltype 上一章我们介绍了一些常用的类型和常见的问题,下面再介绍一些学习的时候不是特别常用但是在实际工程中很有用的一些东西. 一 ...
- Intel:从屌丝逆袭成业界大佬
原创文章,转载请标明出处哈,Thanks♪(・ω・)ノ. 参考<Linux内核情景分析><深入理解计算机系统><深入理解linux内核><Orange'S:一 ...
- 快递小哥逆袭自传:用了6年时间做到了IT部门主管
在我30岁生日那天,终于收到升职的通知,自己如愿的也从一名小小程序员升职成为IT主管,负责公司硬件设备驱动程序开发项目,工资也从原来月薪10K变到现在月薪20K.或许对于很多人而言,在三十岁的时候,可 ...
- 成小胖学习ActiveMQ·基础篇
过了个春节,回到公司的成小胖变成了成大胖.但是你们千万别以为他那个大肚子里面装的都是肥肉,里面的墨水也多了不少嘞,毕竟成小胖利用春节的半个月时间专心学习并研究了 ActiveMQ,嘿嘿……这不,为了检 ...
- 《成神之路-基础篇》JVM——Java内存模型(已完结)
Java内存模型 本文是<成神之路系列文章>的第一篇,主要是关于JVM的一些介绍. 持续更新中 Java内存模型 JVM内存结构 VS Java内存模型 VS Java对象模型(Holli ...
- 小课堂Week10 例外处理设计的逆袭Part3
小课堂Week10 例外处理设计的逆袭Part3 今天是<例外处理设计的逆袭>这本书阅读的第三天,也是最后一天,我们会主要通过实例,对Part2中提出的例外处理等级进行解读. Level1 ...
- 二本毕业,我是如何逆袭成为BAT年薪40W的Java工程师的?
身边的师弟师妹经常问到:非计算机专业出身,你是在2年内如何逆袭成BAT年薪40W的资深开发工程师的.其实很简单——努力! 我16年毕业于普通的二本学校,非计算机专业出身,只因为对软件开发感兴趣,所以找 ...
- 小课堂Week9 例外处理设计的逆袭Part2
小课堂Week9 例外处理设计的逆袭Part2 今天继续阅读<例外处理设计的逆袭>这本书,我们先看两个案例: 案例1 问:如果要设计一个依据学号到数据库中查询学生资料的函数,当找不到符合条 ...
随机推荐
- Penalty
Penalty时间限制:1000 ms | 内存限制:65535 KB难度:2描述As is known to us, the penalty is vitally important to comp ...
- MVC-06 安装部署
部署网站往往是一件麻烦事,因为在安装部署的过程中,经常有许多步骤要运行,对于许多不太熟悉IIS/SQL的新手来说,部署网站编程一件非常困难且危险的事.Visual Studio 2012在ASP.NE ...
- cnzz广告管家使用心得
步着谷歌广告管家的后尘,国内百度公司和知名网络流量数据统计公司cnzz也分别推出了百度广告管家和cnzz广告管家.笔者分别注册了这两个网站.通过一段时间的使用,写下此文,希望对各位站长朋友们有所帮助. ...
- C# 方法的可选参数、命名参数
原文 http://www.cnblogs.com/lonelyxmas/admin/EditPosts.aspx?opt=1 C#方法的可选参数是.net 4.0最新提出的新的功能,对应简单的重载可 ...
- ThinkPHP 3.1.2 视图-1
一.模板的使用 (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件 [index].html(.tpl) 更换模板文 ...
- 基于Visual C++2013拆解世界五百强面试题--题10-找出N个数种最大的K个数
有一亿个整数,请找出最大的 1000 个,要求时间越短越好, 空间占用越好越好. 如果不考虑时间效率,很容易想到解决方法,我们只需存储前一千个数, 然后依次读入后面的数和这一千个数组比较,替换其中比较 ...
- poj 2503 Babelfish(Map、Hash、字典树)
题目链接:http://poj.org/bbs?problem_id=2503 思路分析: 题目数据数据量为10^5, 为查找问题,使用Hash或Map等查找树可以解决,也可以使用字典树查找. 代码( ...
- 你应当知道的Java牛人
Java领域有非常多著名的人物,他们为Java社区编写框架.产品.工具或撰写书籍改变了Java编程的方式. 本文是<最受欢迎的8位Java牛人>的2.0版本号. PS:排名不分先后.本文的 ...
- Chrome插件Visual Event查看Dom元素绑定事件的利器
找这工具找了好久,统一找着了,开发人员不可多得的好东东,收藏做一下分享. 用Chrome插件Visual Event查看Dom绑定的事件 Visual Event简介 Visual Event是一个开 ...
- Sass入门——基本特性-基础
本文来自慕课网大漠 声明变量 三个部分:1.声明变量的符号"$"2.变量名称3.赋予变量的值 $brand-primary : darken(#428bca, 6.5%) !def ...