1、string类的初始化以及一些基本的操作:
#include<iostream>
#include<string>
using namespace std;
int main(){
//string对象的初始化方法
string str1 = "Hello"; //string对象的初始化1
string str2("World"); //string对象的初始化2
string str3(6,'a'); //将6个重复的a赋值给str3
/*string str = 'a'; string str('a'); string str = 4;
注意这是错误的初始化方法*/
cout<<str1<<endl<<str2<<endl<<str3<<endl;
//可以将字符赋值给string对象,例如:
string s;
s = 'a';
cout<<s<<endl;
string str4;
int len,len1;
//复制str1到str4
str4 = str1;
cout<<"复制的结果为:"<<str4<<endl;
//用assign()成员函数复制
str4.assign(str1);
cout<<"使用assign成员函数复制的结果为:"<<str4<<endl;
//用assign()成员函数部分复制
str4.assign(str1,1,3); //从str1中下标为1的字符开始复制3个字符
cout<<"使用assign成员函数部分复制的结果为:"<<str4<<endl;
//使用 + 连接str1和str2,并将结果存在str4中
str4 = str1 + str2;
cout<<"用 + 连接的结果为:"<<str4<<endl;
//使用成员函数append()连接 str1和str2
str1.append(str2);
cout<<"使用成员函数append连接的结果为:"<<str1<<endl;
str1.append(str3, 2,str3.size());
//从下标为2开始,str3.size()个字符,如果没有足够的字符则复制到字符串的最后一个字符
cout<<str1<<endl;
//计算str4的长度,并将结果保存在len中 两种方法皆可以
len = str4.size();
len1 = str4.length();
cout<<"str4的长度为:"<<len<<" "<<len1<<endl;
return 0;
}
运行结果:
2、string类型对象的输入:
#include<iostream>
#include<string>
using namespace std;
int main(){
string str1,str2;
cout<<"请输入字符串str1:";
getline(cin,str1);
cout<<str1<<endl;
//还有一种可以设置终结符的操作,例如我们以'#'作为终止输入条件
cout<<"请输入字符串str2:";
getline(cin, str2, '#');
cout<<str2<<endl;
return 0;
}
运行结果:
3、字符串数组的使用:
可以使用string类来声明一个字符串数组,使用at()方法来访问字符串数组中每一个字符串的具体字符。
#include<iostream>
#include<string>
using namespace std;
int main(){
string name[6];
//输入6个字符串
for(int i=0;i<6;i++){
getline(cin, name[i]);
}
//输出每一个字符串的内容,并输出每一个字符串的第一个字符
for(int i=0;i<6;i++){
cout<<name[i]<<" "<<name[i].at(0)<<endl;
}
return 0;
}
运行结果: