一、string的初始化
首先,为了在程序中使用string类型,必须包含头文件 <string>。如下:
#include <string>
注意这里不是string.h,string.h是C字符串头文件。
string类是一个模板类,位于名字空间std中,通常为方便使用还需要增加:
using namespace std;
声明一个字符串变量很简单:
string str;
测试代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <iostream> #include <string> using namespace std; int main ( ) {
string str; //定义了一个空字符串str str = "Hello world" ; // 给str赋值为"Hello world" char cstr[] = "abcde" ; //定义了一个C字符串 string s1(str); //调用复制构造函数生成s1,s1为str的复制品 cout<<s1<<endl; string s2(str,6); //将str内,开始于位置6的部分当作s2的初值 cout<<s2<<endl; string s3(str,6,3); //将str内,开始于6且长度顶多为3的部分作为s3的初值 cout<<s3<<endl; string s4(cstr); //将C字符串作为s4的初值 cout<<s4<<endl; string s5(cstr,3); //将C字符串前3个字符作为字符串s5的初值。 cout<<s5<<endl; string s6(5, 'A' ); //生成一个字符串,包含5个'A'字符 cout<<s6<<endl; string s7(str.begin(),str.begin()+5); //区间str.begin()和str.begin()+5内的字符作为初值 cout<<s7<<endl; return 0; } |
程序执行结果为:
Hello world
world
wor
abcde
abc
AAAAA
Hello
二、string的比较等操作
你可以用 ==、>、<、>=、<=、和!=比较字符串,可以用+或者+=操作符连接两个字符串,并且可以用[]获取特定的字符。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |