字符串
string和char数组之间的相互转换
- 将string转化为char数组,利用函数strcpy(x,s.c_ptr())
string s;
char x[];
strcmp(x,s.c_str());
就可以将string类型转变为char数组
- 将char数组转变为string类型
可以利用string的构造函数或者利用c++11自带的运算符重载。
char x[] ="hello world"
string s=x;
char x[] ="hello world"
string s(x);
char x[] ="hello world"
string s;
s=x;
以上三种方式均可。
int类型与string类型的转化
int x;
string s = to_string(x);
利用函数to_string(int x);
字符串常见函数的对比
- strcmp(x1,x2)
值得注意的是,当x1=x2的时候,返回的是0,其实比较的是字典序列。从头到尾根据ascii码来进行对比。如果前者小,则返回为负;如果前者=后者,返回为0;如果前者大,则返回正。
但经过验证好像有点问题。
char x1[] ={"adaklsjd"};
char x2[] ={"brihao23w"};
int x = strcmp(x1, x2);
cout<<x;
- strmpy(x1,x2)
将x2copy到x1中去,但是仅限于char数组之间的运用。string类不能使用
string类的一个灵活运用
string x1,x2,x3,x4;
x1="sdadas";
x2="SAdfad";
x3 = x1+x2;
x4 = x2+x1;
cout<<x3<<endl<<x4;
可以看到结果并不相同,是运算符重载的结果。