修改字符串以及string 与char* char[]之间的转换

来源:互联网 发布:移动内网外网切换软件 编辑:程序博客网 时间:2024/05/16 08:23

初始化字符指针为字符串和字符数组字符串

注意char *a=”abcdef”与char a[]=”abcdef”的区别:
1、字符串存放的内存区域不同:前者存放在常量区,不可修改,后则存放在栈中,可以修改;2、变量a存放的内容不同:前者存放的是一个地址,而后者存放的是字符串”abcdef”,因此使用sizeof它们的结果是不同的,分别是4和7搜索;

string 与char* char[]之间的转换

string 与char* char[]之间的转换,有需要的朋友可以参考下。

1、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin()、end(),迭代器可以根据他们进行定位。
注意,与char*不同的是,string不一定以NULL(‘\0’)结束。string长度可以根据length()得到,string可以根据下标访问。所以,不能将string直接赋值给char*。
2、string 转换成 char *

如果要将string直接转换成const char *类型。string有2个函数可以运用。

一个是.c_str(),一个是data成员函数。

例子如下:

string s1 = “abcdeg”;

const char *k = s1.c_str();
const char *t = s1.data();

printf(“%s%s”,k,t);
cout<

字符串各变量存在哪

http://blog.csdn.net/chun_1959/article/details/21650761
http://blog.csdn.net/daiyutage/article/details/8605580

0 0
原创粉丝点击