首页 C++的string类

C++的string类

举报
开通vip

C++的string类nullnull字符数组即数组中的每一个元素是字符,在C++语言中字符型数组的应用很多: (1)字符数组定义、引用及初始化 定义:char a[10]; 此时定义了一个包含10个字符元素的字符数组。 初始化: static char c[14]={‘I’, ‘ ’, ‘a’, ‘m’, ‘ ’, ‘a’, ‘ ’, ‘s’, ‘t’, ‘u’, ‘d’, ‘e’, ‘n’, ‘t’}; Static char c[ ]={“I am a student”}; Static char c[ ]=“I am a st...

C++的string类
nullnull字符数组即数组中的每一个元素是字符,在C++语言中字符型数组的应用很多: (1)字符数组定义、引用及初始化 定义:char a[10]; 此时定义了一个包含10个字符元素的字符数组。 初始化: static char c[14]={‘I’, ‘ ’, ‘a’, ‘m’, ‘ ’, ‘a’, ‘ ’, ‘s’, ‘t’, ‘u’, ‘d’, ‘e’, ‘n’, ‘t’}; Static char c[ ]={“I am a student”}; Static char c[ ]=“I am a student”;6. 4 字符数组及字符串处理函数null(2)字符数组的输入、输出• 逐个字符的输入、输出; char str[10]; cout<<“输入十个字符:”; for(int I=0; I<10; I++) cin>>str[I]; • 把字符数组作为字符串输入、输出; char s1[50],s2[60]; cout<<“输入两个字符串:”; cin>>s1; cin>>s2; cout<<“\n s1=”< void main(void) { char s3[81]; char s4[8]={‘s’, ‘j’, ‘f’, ‘s’, ‘k’, ‘l’, ‘f’, ‘j’}; cout<<“输入一行字符串:”; cin.getline(s3, 80); cout<<“s3=”< 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示字符数组1的地址。 static char str1[80]=“people’s republic of”; static char str2[ ]=“china”; strcat(str1, str2); 说明: a.str1必须足够大,以便容纳连接后的新字符串。 b.连接时将str1后面的‘\0’取消,只在新串最后保留一个‘\0’。(b) strcat(字符数组1,字符数组2)null函数原形: int strcmp(char *, char *); 功能:对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0’为止。比较结果由函数返回。 关系 返回值 str1 == str2; =0 FALSE str1 > str2; >0 TRUE str1 < str2; <0 TRUE(c) strcmp(字符数组1,字符数组2)说明:两个字符串的比较不能用以下形式: if(str1 == str2) cout< #include void main(void) { char s[200]; int count, i, j; cout<<"Input a string: \n"; cin.getline(s, 200); for(count=0, j=strlen(s),i=0 ;i using namespace std;null(2) string类字符元素的访问比C字符串有所增强: str[i] //返回str中索引i处字符的引用,不查是否出界 str.at(i) //返回str中索引i处字符的引用,查是否出界 (3) string类重载了一些运算符,特别注意当目标串较小,无法容纳新的字符串,系统会自动分配更多的空间给目标串,不必顾虑出界: str1=str2; //str1成为str2的拷贝 str1+=str2; //str2的字符数据连接到str1的尾部 str1+str2; //返回一个字符串,它将str2连接到str1的尾部 str1==str2; str1!=str2; //比较串是否相等,返回布尔值 str1str2; str1<=str2; str1>=str2; //基于字典序的比较,返回布尔值 null(4) string类的输入输出。输出与C风格字符串同样方便,使用插入运算符<<和cout。输入如用提取运算符>>,代码读取的是以空白字符结束的字符串,输入完整的字符串可用非成员函数getline,注意格式: getline(cin,str); //串以’\n’结束 getline(cin,str,ch); //串以ch结束 (5) string类有一些常用的成员函数可进行字符串处理: str.substr(pos,length1); //返回对象的一个子串,从pos位置起,长length1个字符 str.empty( ); //查是否空串 str.insert(pos,str2); //将str2插入str的pos位置处nullstr.remove(pos,length1); //在str位置pos处起,删除长度为length1的字串 str.find(str1); //返回str1首次在str中出现时的索引 str.find(str1,pos); //返回从pos处起str1首次在str中出现时的索引 str.length(str); //返回串长度 (6) C字符串到string类对象是由构造函数隐式自动进行,而string类对象到C字符串的转换必须执行显示的类型转换,应调用成员函数 str.c_str( ); //将string类转换为C风格字符串,返回char*null回文是指顺读和反读都一样的串,这里不分大小写,并滤去所有非字母字符,如: Madam,I’m Adam. Golf,No Sir, prefer prison flog! 都是回文。 注意string是类,它有自己的构造函数和析构函数,如果它作为类或结构的成员,要记住它是成员对象,当整个类对象建立和撤销时,会自动调用作为成员对象的string字符串的构造和析构函数。 【例5.12】判断字符串是否为回文。nullbool is_pal(const string& s){ //判断是否回文 string punct(",;:.?'\" "); //包括空格符 string str(make_lower(s)); str=remove_punct(str,punct); //滤去所有非字母字符 return str==reverse(str);} string make_lower(const string& s){ //所有大写改为小写 string temp(s); int i,s_length=s.length(); for(i=0;i=p_length) no_punct=no_punct+a_ch; //punct中无a_ch,a_ch拷入新串 } return no_punct; } //将第一个字符串中所包含的与第二个字符串中相同的字符删去nullint main( ) { string str; cout<<"请输入需判断是否为回文的字符串,以回车结束。\n"; getline(cin,str); if(is_pal(str)) cout<
本文档为【C++的string类】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_748778
暂无简介~
格式:ppt
大小:161KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2011-06-12
浏览量:31