string的常用操作

来源:互联网 发布:工商联数据库 编辑:程序博客网 时间:2024/05/18 13:46

1. string的初始化

定义对象时指定了初始值的对象被称为是已初始化的。

C++支持两种初始化变量的形式:复制初始化直接初始化

复制初始化用等号(=)来表示,直接初始化是把初始化式放在括号中。

代码一:

#include "stdafx.h"#include "iostream"#include <string>using namespace std;int main(){string s;// 默认构造函数,s为空串string s1="my";// 复制初始化string s2(s1);// 用s1的一个副本来初始化s2string s3("value");// 用"value"初始化s3,直接初始化string s4(6,'w');// 用6个w字符初始化cout<<"s="<<s<<endl;cout<<"s1="<<s1<<endl;cout<<"s2="<<s2<<endl;cout<<"s3="<<s3<<endl;cout<<"s4="<<s4<<endl;system("pause");return 0;}

输出结果:

2. string的常用操作

字符串的拼接:直接用+

字符串的长度:.length()

字符串的大小:.size()

字符串的比较:==

字符串是否为空:.empty()

#include "stdafx.h"#include "iostream"#include <string>using namespace std;int main(){string s;// 默认构造函数,s为空串string s1="my";// 复制初始化string s2(s1);// 用s1的一个副本来初始化s2string s3("value");// 用"value"初始化s3,直接初始化string s4(6,'w');// 用6个字符if(s.empty())// 如果s为空串,则返回true,否则返回false{cout<<"s is null."<<endl;}// s.size() 返回s中字符的个数cout<<"The size of s3 = "<<s3<<" is "<<s3.size()<<endl;// s[n] 返回s中位置为n的字符,位置从0开始计数cout<<"The character of loaction 3 in s3 = "<<s3<<" is "<<s3[3]<<endl;// s1+s2 把s1和s2连接成一个新字符串,返回新生成的字符串cout<<"s2+s3="<<(s2+s3)<<endl;// s1=s2 把s1内容替换为s2的副本cout<<"s2="<<(s2=s3)<<endl;// s1==s2 比较s1与s2的内容,相等则返回true,否则返回falseif(s2==s3){cout<<"s2 is equal to s3."<<endl;}system("pause");return 0;}


输出结果:

3. 和C语言中字符数组的区别

string类定义的字符串后面不带‘\0’.

#include <iostream>#include <string>using namespace std;int main(){char str[6] = "Hello";//与C风格的 char 字符串不同,string 类型的变量结尾没有 '\0'string s = "Hello";int size1,size2,len1,len2;size1 = sizeof(str);//返回6,有'\0'size2 = s.size();//不用sizeof,返回5,没有'\0'len1 = strlen(str);len2 = s.length();cout<<"len1 = "<<len1<<", len2 = "<<len2<<endl;cout<<"size1 = "<<size1<<", size2 = "<<size2<<endl;if(s=="Hello"){cout<<"equal"<<endl;}system("pause");return 0;}

输出结果:



0 0
原创粉丝点击