C++中有两种字符串:
1.标准库中的字符串,头文件为string,声明时候直接用string s="hello world";
2.C风格字符串,头文件为cstring,声明时候是用的char c[ ] 数组;
 
注意:C风格字符串使用起来不方便,且极易引发程序漏洞,所以在C++中最好不要用。
 
1.标准库中的字符串
string s1="hello";
string s2="world";
比较:  if(s1=s2) ,if(s1!=s2) ,if(s1>s2) , if(s1<s2)
连接:  s1=s2+"123";
复制:  s1=s2; 只是把值复制了,s1和s2所指的不是一块内存空间
大小:  s1.size();
判空:  s1.empty();
 
2.C风格字符串
char c1[]="hello";
char c2[]="world";
比较:  strcmp(c1,c2);
连接:  strcat(c1,c2);
复制:  strcpy(c1,c2);
大小:  strlen(c1);
 
3.标准库的字符串 与 C风格字符串 的转换(与旧代码的接口)
(1)可直接用char a[]给string赋值
 例:char a[]="hello";
    string s=a;
    cout<<s;
(2)string提供了一个名为c_str的成员函数,把string转换为const char *
例:string s="hello";
    const char *a=s.c_str();
    cout<<a<<endl;