C++之String类
一、简介
-
功能描述
C++提供的一个对字符串进行操作的函数类,功能比单纯的数组强大。
变量之间可以直接赋值,类内部提供有函数和变量,可以直接获得字符串的相关信息。
-
使用方法
初始化形式:
1.string s1;
2.string s2 = “ABC”;
3.string s3(“ABC”);
4.string s1=s3;
-
常用的操作
该类提供的一些API函数
empty(); //功能:判断S是否为空,为空则返回true,否则返回false。
size(); //获取字符串中字符的个数,不包含’\0’;
end() //返回一个迭代器,指向字符串的末尾。(最后一个字符的下一个位置)
length() //字符串的长度
append() //在字符串的末尾添加文本
二、使用
-
运算操作
由于string内部已经做好了一些运算符的重载,所以我们可以直接对其进行操作。
string s1(“abc”);
string s2(“123”);
string s;
s = s1 + s2; //将两个字符串合并成一个字符串,赋值给s,s=“abc123”;
s = s1; //将s1的内容赋值给s
s1 = s2; //判断s1和s2的内容是否相等,为真返回TRUE,佛则返回FALSE。
s1 != s2; //判断s1和s2的内容是否不相等,为真返回true,否则返回FALSE。
s[n]; //类似与数组的操作,返回string字符串中下标为n的字符。
例如:
例如:
stirng s1 = "hello ";
string s2("world")
string s3 = s1 + s2; //s3 = "hello world"
string s4 = s1 + "world"; //类和字符串可以直接合并
string s5 = "hello" + s1 + "wrold"; //类在中间起连接作用
string s7 = "hello" + " world"; //error
三、字符串输入函数
-
getline()
原型:istream & getline(istream & in,string & str)
功能:从in对应的流中读入一行信息存放在str对应的缓冲区中,遇到’\n’结束,’\n’也会被读取,并且转换成’\0’存放到str中(注意和gets()的区别)
参数:in 输入流 cin
str 用户自定义的string类对象,用于存储字符串信息
返回值:返回instream对应的对象
-
代码验证
string s;
cout << "please input a string" << endl;
getline(cin,s);