1)需加头文件 <string>
2)可直接通过等号来赋值 ”=“
3)和C中不同的是,shring结尾不含 ”\0", 所以使用内置函数 Length()求出的长度就是字符串真实的长度。
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1;
string s2 = "abcdefgh";
string s3 = s2;
string s4(5, 's');
cout << s2.length() << endl; //求出长度为8
while(1);
return 0;
}
4)但是有时必须要使用C中风格的字符串,比如打开一个文件,使用fopen()函数,可以用cstr()函数转换
string path = "D:\C++\project1";
FILE *fp = fopen(path.c_str(), "w");
5)字符串输入输出,cin从键盘获取遇空格会自动结束
int main()
{
string s1;
cin >> s1;
cout << s1;
while(1);
}
6)字符串拼接,直接使用+号,不用担心内存不足
7)string插入,直接使用insert()函数,删掉字符串用erase()函数,提取字符串用substr()函数
int main()
{
string s1 = "123456789";
cout << s1.insert(5, "bbb") << endl; //从下标为5的地方开始插入三个b
while(1);
}
int main()
{
string s1 = "123456789";
cout << s1.erase(5, 2) << endl; //从下标为5的地方开始删掉两个字符
cout << s1.erase(3, 3) << endl;
while(1);
}
int main()
{
string s1 = "123456789";
string s2 = s1.substr(3, 5); //从下标为3的地方开始,提取长度为5的字符串
cout << s2 << endl; //输出45678
while(1);
}
int main()
{
string s1 = "123 456789";
string s2 = s1.substr(3, 5);
cout << s2 << endl; //输出 4567,空格也占一个字符
while(1);
}