char数组与string转换

1、char数组转string

有很多种方法:
假设c字符串定义为char ch[]="hello world!";
1.向构造函数传入c字符串创建string对象:
string str(ch);
2.使用拷贝构造函数创建string对象:
string str = ch;
3.对已有的string对象调用string类内部定义的赋值运算符:
string str;
str = ch; 
 
前两种类似,但和第三种有较大区别,前两种是运用构造函数直接创建一个内容与c字符串一致的string对象;第三种是c++标准库编写的string类的内部重载了赋值运算符,使之能够以c字符串作为右操作数对string对象进行赋值,使string对象的内容与c字符串一致。

2、string转char数组 

1. c_str():生成一个const char*指针,指向以空字符终止的数组。

② c_str()返回一个客户程序可读不可改的指向字符数组的指针,不需要手动释放或删除这个指针。

2. data():与c_str()类似,但是返回的数组不以空字符终止。

3. copy(p,n,size_type _Off = 0):从string类型对象中至多复制n个字符到字符指针p指向的空间中。默认从首字符开始,但是也可以指定,开始的位置(记住从0开始)。返回真正从对象中复制的字符。------用户要确保p指向的空间足够保存n个字符

posted @ 2014-07-21 11:23  冷冰若水  阅读(62865)  评论(0编辑  收藏  举报