string类的data()与c_str()的区别

转载 2016年08月31日 09:58:54

 cout<<"\n========================"<<endl;
 //s) c_str() //将内容以C_string返回
 {
        string myStr1("Hello--------");
        string myStr2("world!\n");
  const char* pStr=(myStr1+myStr2).c_str();
  printf(pStr);
  printf("%d\n",pStr[strlen(pStr)]);
  myStr1+="DEF\n";
  printf(myStr1.c_str());

 }
 //t) data() //将内容以字符数组形式返回
 {
        string myStr("Hello world!\n");
  const char* pStr=myStr.data();
  printf(pStr);
  printf("%d\n",pStr[strlen(pStr)]);
 }
 cout<<"\n========================"<<endl;

========================
Hello--------world!
0
Hello--------DEF
Hello world!
0

========================



请问string类的data()与c_str()的区别 [问题点数:20分,结帖人Dic4000]

收藏
取消关注关注Dic4000 Dic4000 本版等级:T1
本版专家分:29
结帖率:99.71%
取消关注关注zjbirdman zjbirdman 本版等级:T1
本版专家分:5
结帖率:93.23%
取消关注关注chun4221 chun4221 本版等级:T1
本版专家分:10
结帖率:100%

关于string中data()和c_str()函数的几点区别

最近在看网上的一些源码的时候,遇到一个问题,大概是这样的。先上代码: class bin_decoder_t { public: explicit bind_decoder_t(const str...
  • zhangwu416826
  • zhangwu416826
  • 2012年08月03日 10:54
  • 6858

【STL】string中c_str()、data()函数的用法

标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。 1. c_str():生成一个const char*指针,指向以...
  • yansmile1
  • yansmile1
  • 2017年04月05日 15:42
  • 507

string的c_str()方法和data()方法------人云亦云的人不少啊

很少用到string的data方法, 最近刚好碰到, 上网差了一下data和c_str的区别, 乱说的不少。  我来测试一下(在VC6.0中搞起): #include #include usin...
  • stpeace
  • stpeace
  • 2016年02月06日 15:01
  • 3955

string类中c_str函数的用法

c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相应的操作转化,下面就是这一转化过程。   c++语言提供了两种字符串实现,其中较原始的一种只是...
  • gaotengguojianhong
  • gaotengguojianhong
  • 2011年12月03日 19:02
  • 7271

c++中string类成员函数c_str()

1.string类成员函数c_str()的原型:                  const char *c_str()const;//返回一个以null终止的c字符串 2.c_str()函数返回一...
  • swliao
  • swliao
  • 2009年10月22日 10:31
  • 8395

关于c++ c_str()和data()

C++ string c_str() data()
  • u011352234
  • u011352234
  • 2016年06月17日 17:44
  • 864

string::c_str() 与 string::data() 区别

const value_type *c_str( ) const; const value_type *data( ) const;   data只是返回原始数据序列,没有保证会用traits:...
  • liujiahaogood
  • liujiahaogood
  • 2011年08月01日 10:07
  • 466

没有躲过的坑--string中的c_str()陷阱

string.c_str是Borland封装的String类中的一个函数,它返回当前字符串的首字符地址。c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相...
  • wangshubo1989
  • wangshubo1989
  • 2015年11月16日 22:02
  • 3928

string类c_str、data与\0使用

以前一直使用string::data()函数没发现什么问题,前天居然发现string::data不能用了,也就是data()返回没有结束符,导致拷贝崩溃,后来一查,这个data函数返回是不一定会包含结...
  • mydriverc2
  • mydriverc2
  • 2015年02月17日 10:59
  • 428

string的c_str()和data()有区别?

本机windows系统安装了VS2008环境下,查看xstring文件的源码发现xstring类的c_str(),data()实现如下 const _Elem *__CLR_OR_THIS_C...
  • fuxingdaima
  • fuxingdaima
  • 2013年03月12日 15:38
  • 2038
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:string类的data()与c_str()的区别
举报原因:
原因补充:

(最多只允许输入30个字)