网易首页 > 网易号 > 正文 申请入驻

程序设计实习:7.4string类

0
分享至

程序设计实习:7.4string类

string 类:

是一个模板类, 它的定义如下: typedef basic_stringstring; 使用string类要包含头文件string对象的初始化。

string s1("Hello"); // 一个参数的构造函数

string s2(8, ‘x’); // 两个参数的构造函数

string month = “March”;

不提供以字符和整数为参数的构造函数 错误的初始化方法:

string error1 = ‘c’; // 错

string error2(‘u’); // 错

string error3 = 22; // 错

string error4(8); // 错 可以将字符赋值给string对象

string s; s = ‘n’;

构造的string太长而无法表达:

会抛出length_error异常 string 对象的长度用成员函数 length()读取;

string s("hello"); cout << s.length() << endl; string 支持流读取运算符

string stringObject; cin >> stringObject; string 支持getline函数

string s; getline(cin, s);

string的赋值和连接:

用 ‘=’ 赋值

string s1("cat"), s2; s2 = s1; 用 assign成员函数复制

string s1("cat"), s3; s3.assign(s1); 用 assign成员函数部分复制

string s1("catpig"), s3; s3.assign(s1, 1, 3); //从s1 中下标为1的字符开始复制3个字符给s3

单个字符复制

s2[5] = s1[3] = ‘a’;

逐个访问string对象中的字符

string s1("Hello");

for(int i=0; i<s1.length(); i++)

cout << s1.at(i) << endl;

成员函数at会做范围检查, 如果超出范围, 会抛出

out_of_range异常, 而下标运算符不做范围检查

用 + 运算符连接字符串 string s1("good "), s2("morning! "); s1 += s2; cout << s1; 用成员函数 append 连接字符串 string s1("good "), s2("morning! "); s1.append(s2); cout << s1; s2.append(s1, 3, s1.size()); //s1.size(), s1字符数 cout << s2; //下标为3开始, s1.size()个字符 //如果字符串内没有足够字符, 则复制到字符串最后一个字符。

比较string:

输出 0 // hello == hello 1 // hello > hell -1 // hell < hello -1 // el < hell 1 // hello > hell

子串:

成员函数 substr() string s1("hello world"), s2; s2 = s1.substr(4,5); //下标4开始5个字符 cout << s2 << endl;

交换string:

成员函数 swap() string s1("hello world"), s2("really"); s1.swap(s2); cout << s1 << endl; cout << s2 << endl;

string的特性:

成员函数 capacity() 返回无需增加内存即可存放的字符 数 成员函数maximum_size() 返回string对象可存放的最大字符 数 成员函数length() 和size()相同 返回字符串的大小 /长度 成员函数empty() 返回string对象是否为 空 成员函数resize() 改变string对象的长度。

寻找string中的字符:

成员函数 find()

string s1("hello world"); s1.find("lo"); //在s1中从前向后查找 “lo” 第一次出现的地方 //如果找到, 返回 “lo”开始的位置, 即 l 所在的位置下标 //如果找不到, 返回 string::npos (string中定义的静态常量) 成员函数 rfind()

string s1("hello world"); s1.rfind("lo"); //在s1中从后向前查找 “lo” 第一次出现的地方 //如果找到, 返回 “lo”开始的位置, 即 l 所在的位置下标 //如果找不到, 返回 string::npos

成员函数 find_first_of()

string s1("hello world"); s1.find_first_of(“abcd"); //在s1中从前向后查找 “abcd” 中任何一个字符第一次出现的地方 //如果找到, 返回找到字母的位置; 如果找不到, 返回 string::npos 成员函数 find_last_of()

string s1("hello world"); s1.find_last_of(“abcd"); //在s1中查找 “abcd” 中任何一个字符最后一次出现的地方 //如果找到, 返回找到字母的位置; 如果找不到, 返回 string::npos

成员函数 find_first_not_of()

string s1("hello world"); s1.find_first_not_of(“abcd"); //在s1中从前向后查找不在 “abcd” 中的字母第一次出现的地方 //如果找到, 返回找到字母的位置; 如果找不到, 返回 string::npos 成员函数 find_last_not_of()

string s1("hello world"); s1.find_last_not_of(“abcd"); //在s1中从后向前查找不在 “abcd” 中的字母第一次出现的地方 //如果找到, 返回找到字母的位置; 如果找不到, 返回 string::npos

替换string中的字符:

在string中插入字符:

转换成C语言式char *字符串:

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中国现在碰到了一个比日本以前还难搞的问题:就是内需不给力。

中国现在碰到了一个比日本以前还难搞的问题:就是内需不给力。

户外阿崭
2024-04-29 19:11:27
听到足协的回应,汪海健笑了

听到足协的回应,汪海健笑了

新民晚报
2024-05-01 10:10:49
老板开除了35岁80后,招了青春活力的95后,结果就成了这样。

老板开除了35岁80后,招了青春活力的95后,结果就成了这样。

侃故事的阿庆
2024-05-01 20:39:25
除了风花雪月——徐志摩对苏俄的精准洞察和预言,比胡适提前20年

除了风花雪月——徐志摩对苏俄的精准洞察和预言,比胡适提前20年

民国那点事儿
2022-07-29 06:00:02
出场把所有人看呆,这是迷倒银行行长的“情妇”该有的脸?

出场把所有人看呆,这是迷倒银行行长的“情妇”该有的脸?

慕容梓宜
2024-04-30 22:52:36
李尚福被免去国防部长,虎父无犬子,父亲竟和美国交过手

李尚福被免去国防部长,虎父无犬子,父亲竟和美国交过手

磊子讲史
2024-03-25 14:45:46
大胆穿搭!Kanye和妻子今日的OOTD!

大胆穿搭!Kanye和妻子今日的OOTD!

SwagFuck
2024-04-05 17:16:48
市委常委、组织部长,出任大学党委书记

市委常委、组织部长,出任大学党委书记

双一流高校
2024-04-30 17:44:07
A股:股市或将迎来新一轮大调整

A股:股市或将迎来新一轮大调整

生活中的栗子
2024-05-01 21:39:22
三个沐沐改口,思想一夜间遥遥领先:车门能打开,亲人因冲撞死亡

三个沐沐改口,思想一夜间遥遥领先:车门能打开,亲人因冲撞死亡

皖声微言
2024-04-30 18:18:42
恭喜!山东泰山强援正式到位,刚一亮相就助球队3球大胜南通支云

恭喜!山东泰山强援正式到位,刚一亮相就助球队3球大胜南通支云

体坛春秋
2024-05-02 00:14:48
世体:巴萨已经向西甲联赛提交了所有财务文件进行公平竞赛审核

世体:巴萨已经向西甲联赛提交了所有财务文件进行公平竞赛审核

直播吧
2024-05-01 16:42:03
又纯又欲,这才是国产剧吻戏该有的脸红心跳

又纯又欲,这才是国产剧吻戏该有的脸红心跳

娱乐圈十三太保
2024-05-01 14:07:29
正式官宣,辽宁男篮VS广东第二场比赛,开球时间敲定,CCTV5直播

正式官宣,辽宁男篮VS广东第二场比赛,开球时间敲定,CCTV5直播

邮轮摄影师阿嗵
2024-05-02 00:25:11
70岁离异老太惨死,法医检测体内男性DNA,竟与老太自己高度吻合

70岁离异老太惨死,法医检测体内男性DNA,竟与老太自己高度吻合

苏大强专栏
2024-03-27 22:12:23
谢金燕出事了!为《浪姐》断送演艺生涯 紧急送医哭喊:美腿不见

谢金燕出事了!为《浪姐》断送演艺生涯 紧急送医哭喊:美腿不见

阿芒娱乐说
2024-04-29 19:33:24
抽签决定奥运?王曼昱压力最大,陈梦正常发挥就行?

抽签决定奥运?王曼昱压力最大,陈梦正常发挥就行?

刺头体育
2024-05-02 00:37:08
“去了一趟西藏,睡了100个女人”:伪朝圣,榨干了多少人!

“去了一趟西藏,睡了100个女人”:伪朝圣,榨干了多少人!

我是娱有理
2024-04-30 07:20:49
私人影院提供特色观影服务?我试图前往体验,却发现掉入桃色陷阱

私人影院提供特色观影服务?我试图前往体验,却发现掉入桃色陷阱

亲爱的落落
2024-04-15 10:57:58
102岁杨振宁庆祝“瓷婚”,翁帆母亲罕露面!墙上百万名画很抢眼

102岁杨振宁庆祝“瓷婚”,翁帆母亲罕露面!墙上百万名画很抢眼

娱乐团长
2024-04-18 21:00:03
2024-05-02 06:26:44
爱你雅课
爱你雅课
科普知识,科教视频
213文章数 623关注度
往期回顾 全部

科技要闻

余承东卸任华为终端CEO 新任命为董事长

头条要闻

哥伦比亚总统宣布将与以色列断绝外交关系

头条要闻

哥伦比亚总统宣布将与以色列断绝外交关系

体育要闻

詹眉湖人:洛杉矶大型烟花秀

娱乐要闻

黄子韬被曝求婚徐艺洋 大量亲密照曝光

财经要闻

王石自动放弃2023年千万退休金

汽车要闻

预售2.89-3.49万 奔腾小马正式开启预售

态度原创

数码
旅游
本地
公开课
军事航空

数码要闻

五一如何“满电”出行?充电设备大部分人都选错了!

旅游要闻

假期最受欢迎的小众目的地 会玩的人已经去了

本地新闻

食味印象 | 潍坊:碳水脑袋的人间乐园

公开课

父亲年龄越大孩子越不聪明?

军事要闻

近距离看中国第三艘航母福建舰解缆起航

无障碍浏览 进入关怀版