在C++中可以用3种方法访问一个字符串(在第5章介绍了前两种方法)。
【例6.10】定义一个字符数组并初始化,然后输出其中的字符串。
#include <iostream>
using namespace std;
int main( )
{
char str[]="I love CHINA!";
cout<<str<<endl;
return 0;
}
运行时输出:I love CHINA!
【例6.11】定义一个字符串变量并初始化,然后输出其中的字符串。
#include <string>
#include <iostream>
using namespace std;
int main( )
{
string str="I love CHINA!";
cout<<str<<endl;
return 0;
}
【例6.12】定义一个字符指针变量并初始化,然后输出它指向的字符串。
#include <iostream>
using namespace std;
int main( )
{
char *str="I love CHINA!";
cout<<str<<endl;
return 0;
}
对字符串中字符的存取,可以用下标方法,也可以用指针方法。
【例6.13】将字符串str1复制为字符串str2。
定义两个字符数组str1和str2,再设两个指针变量p1和p2,分别指向两个字符数组中的有关字符,通过改变指针变量的值使它们指向字符串中的不同的字符,以实现字符的复制。
#include <iostream>
using namespace std;
int main( )
{
char str1[]="I love CHINA!",str2[20],*p1,*p2;
p1=str1;p2=str2;
for(;*p1!='\\0';p1++,p2++)
*p2=*p1;
*p2='\\0';
p1=str1;p2=str2;
cout<<"str1 is: "<<p1<<endl;
cout<<"str2 is: "<<p2<<endl;
return 0;
}
运行结果为:
这个例子用来说明怎样使用字符指针。其实,对例6.13来说,用string变量来处理是十分简单的:
string str1=″I love CHINA!″,str2; //定义string变量
str2=str1; //将str1复制到str2