string類型的应用.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
string類型的应用

string类型支持长度可变的字符串,C++标准库负责管理存储字符的相关内存,以及提供各种有用的操作。标准库string类型的目的就是满足对字符串的一般应用。 与其它的标准库类型一样,用户程序要使用string类型对象,必须包含相关头文件。如果程序员提供合适的using声明,那么编写出来的程序将会变得简短一些: #include string using std::string; 3.2.1? 定义和初始化String对象 string标准库支持几个构造函数(2.2.3节)。构造函数是一个特殊成员函数,定义如何初始化该类型的对象。表3-1列出了几个string类型常用的构造函数。当没有明确指定对象初始代式时,系统将使用默认构造函数(2.3.4节)。 表3-1? 几种初始化String对象的方式 string s1; 默认构造函数,s1为空串 string s2(s1); 将s2初始化为s1的一个副本 string s3(value); 将s3初始化为一个字符串字面值副本 string s4(n, c); 将s4初始化为字符c的n个副本 ? 警告:标准库string类型和字符串字面值???????????????????????????????????????????? 因为历史原因以及为了与C语言兼容,字符串字面值与标准库string类型不是同一种类型。这一点很容易引起混乱,编程时一定要注意区分字符串字面值和string数据类型的使用,这很重要。 习题??????????????????????????????????????????????????????????? 习题3.2? 什么是默认构造函数? 习题3.3 ?列举出三种初始化String对象的方法。 习题3.4 ?s和s2的值分别是什么? ?? string s; ?? int main() { ?????? string s2; ?? } 3.2.2? String的读写 我们已在第1章学习了用iostream标准库来读写内置类型的值,如int,double等。同样地,也可以用iostream和string标准库,使用标准输入输出操作符来读写string对象: // Note: #include and using declarations must be added to compile this code int main() { ??? string s;????????? ?? // empty string ??? cin s;????????? ?? // read whitespace-separated string into s ??? cout s endl;? // write s to the output ??? return 0; } 以上程序首先定义命名为s的字符串,第二行代码: cin s;??????? // read whitespace-separated string into s 从标准输入读取string,并将读入的串存储在s中。string类型的输入操作符: ??? 读取并忽略开头所有的空白字符(如空格,换行符,制表符)。 ??? 读取字符直至再次遇到空白字符,读取终止。 因此,如果输入到程序的是“?? Hello World! ??”(注意到开头和结尾的空格),则屏幕上将输出“Hello”,而不含任何空格。 输入和输出操作的行为与内置类型操作符基本类似。尤其是,这些操作符返回左操作数作为运算结果。因此,我们可以把多个读操作或多个写操作放在一起: string s1, s2; cin s1 s2; // read first input into s1, second into s2 cout s1 s2 endl; // write both strings 如果给定和上一个程序同样的输入,则输出的结果将是: HelloWorld! 对于上例,编译时必须加上#include来标示iostream和string标准库,以及给出用到的所有标准库中的名字(如string,cin,cout,endl)的using声明。 从本例开始的程序均假设程序中所有必须的#include和using声明已给出。 1. 读入未知数目的string对象 和内置类型的输入操作符一样,string的输入操作符也会返回所读的数据流。因此,可以把输入操作作为判断条件,这与我们在1.4.4节读取整型数据的程序做法是一样的。下面的程序将从标准输入读取一组string对象,然后在标准输出上逐行输出: int main() { ??? string word; ??? // read until end-of-file, w

文档评论(0)

fv45ffsjjI + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档