目录
1.定义和初始化string对象
2.string对象上的常用操作
在C++中string是用来处理可变长字符串的,是C++标准库中提供的类型,使用起来十分方便。同时C++也支持C语言的字符数组来表示字符串。使用时记得包含string头文件。
1.定义和初始化string对象:
下面是与C语言的比较:
char arr1[] = "csdn";//C语言
string arr2 = "csdn";//C++
printf("%s\n", arr1);
cout << arr2 << endl;
补充一些其他定义与初始化的方法:
string s1;//默认初始化,s1代表一个空串
string s2("csdn");//与string s2 = “csdn”;等价
int num = 5;
string s3(num, 'a');//初始化一个连续num个字符‘a’组成的字符串
还有复制初始化下面会讲到。
2.string对象上的常用操作:
(1)判断是否为空 empty(),返回布尔值。
string s1;
if (s1.empty())//为空成立
{
cout<<"s1为空字符串" << endl;
}
(2)size()/length()返回字节/字符数量,可以理解为返回一个无符号数unsigned int。
string s1;
cout << s1.size() << " " << s1.length() << endl;//0 0
string s2 = "csdn";
cout << s2.size() << " " << s2.length() << endl;//4 4
(3)s1[n]:类似于C语言的字符数组,返回s1中第n个字符,字符位置从零开始,注意字符串长度不要越界访问。
string s2 = "csdn";
cout << s2.size() << " " << s2.length() << endl;//4 4
cout << s2[0] << " " << s2[1] << " " << s2[2] << endl;
(4)s1 + s2:字符串连接操作:
注意:这里允许一个字符串常量+string对象
string s1 = "cs";
string s2 = "dn";
string s3 = s1 + s2;
cout << s1 + s2 << " " << s3 << endl;//csdn csdn
cout << s1 + "dn" << " " << "cs" + s2 << endl;//csdn csdn
//不允许“cs”+“dn”+s1但可以“cs”+s1+“dn”
(5)字符串赋值操作:s1 = s2把s2的内容复制取代s1的内容。
string s1 = "cs";
string s2 = "dn";
string s3 = s1;//cs
string s4 = s2;//dn
cout << s3 + s4 << endl;//csdn
(6)判断两个字符串是否相等(长度,大小写都要一致才是相等)。
string s1 = "csdn";
string s2 = "csdn";
if (s1 == s2) {
cout << "s1==s2" << endl;
}
(7)读写string对象:
string s1;
cin >> s1;
cout << s1 << endl;
还有输入带空格字符串的输入函数getline(cin,s1)
其实针对字符串string还有很多的操作函数,这里只是讲解一些简单的使用。
谢谢观看,感谢关注~