1.string是什么?
string是一个类,专门用来处理字符串。
而C语言中,字符串实际上是一个char的数组。
2.实验
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1 = "hello world";
string str2 = " smart";
char str3[50] = {0};
char *str4;
cout << str1 <<endl; //打印str1字符串
cout << str1.append(str2) << endl; //str1追加str2字符串
cout << str1.at(1) << endl; //按给定索引值返回字符
cout << str1[1] << endl; //同上
cout << str1.capacity() << endl; //返回重新分配空间前的字符容量
cout << str1.compare(str2) << endl; //比较两个字符串,返回-1,即str1 < str2
str1.copy(str3, 50, 0); //拷贝自己的num个字符到str中(从索引index开始)。返回值是拷贝的字符数
cout << str3 << endl;
str4 = str1.data(); //返回指向自己的第一个字符的指针.
cout << str4 << endl;
str1.insert(0, "aaa"); //在下标0的位置插入“aaa”
cout << str1 << endl;
cout << str1.length() << endl; //返回字符串的长度
cout << str1.max_size() << endl; //返回字符串能保存的最大字符数。即string能存最大的字符串数量。
str1.replace(0,5,"bbb"); //最多替代5个字符,从index开始.
cout << str1 << endl;
cout << str1.size() << endl; //返回字符串中字符的数量
cout << str1.substr(7,5) << endl; //从第7个字符开始,长度为5的字符串。输出 world
str1.swap(str2);
cout << str1 << endl;
system("pause");
return 0;
}
实验结果
是不是很乱?
乱就对了。我是一个一个string方法地去编译,验证结果后,才往下测试。
即使很简单,也需要一个一个地去测试,也需要亲手的验证。
这不是文科,不需要去背,但需要动手去实践,形成一种感性认识。
3.最后
只是简单地初步地使用string类,没有涉及到容器的东西,等学习到容器后,再深入研究它。