原文:std::string 的方法c_str() 和 data() 有什么区别

从C 标准上的解释来看,只有一点区别: c str 返回一个指向正规C字符串的指针常量,该指针保证指向一个 size 长度的空间,而且最后一个字符肯定是 而 data 返回的指针则保证指向一个size 长度的空间,不保证有没有null terminate,可能有,可能没有,看库的实现了。 有的STL的实现中,二者是完全一样的,如vs . ,两个函数的源码中,data 函数内部调用的是c str ...

2018-04-20 17:40 0 8329 推荐指数:

查看详情

std::stringdata()和c_str()的区别

datac_str data()和c_str()都是用来获取底层字符串的首地址的,但是在C++98中规定的是data()返回的字符串不保证有结尾\0,但是c_str()返回的字符串保证有结尾\0,也就是C++98标准在设计字符串的时候是想抛弃C风格的字符串语法的,但是在实际应用中,往往需要 ...

Thu Nov 12 03:26:00 CST 2020 0 564
c++ string c_str() 和data()区别

看下面的英文解释: const char* c_str ( ) const;Get C string equivalentGenerates a null-terminated sequence of characters (c-string) with the same content ...

Wed Jun 13 05:44:00 CST 2012 0 5675
c++ string c_str() 和data()区别

看下面的英文解释: const char* c_str ( ) const;Get C string equivalentGenerates a null-terminated sequence of characters (c-string) with the same content ...

Tue Jul 08 01:56:00 CST 2014 0 2741
stringc_str()使用时的坑

先看一段代码和它的运行结果: 看到结果了么这个运行的结果和我们理解的是不会有差距.对于经验丰富的开发者可能会微微一笑,但是对于一个刚刚学习的人就开始疑惑了.这里主要说两个问题: 1、声明了一个string实例,使用c_str()进行赋值后,可以正常输出c_str()的值 ...

Sun Apr 01 19:35:00 CST 2018 0 15173
Stringc_str()的用法

c_str函数的返回值是const char*的,不能直接赋值给char*。 c++语言提供了两种字符串实现,其中较原始的一种只是字符串的 c语言 实现。与C语言的其他部分一样,它在c++的所有实现中可用,我们将这种实现提供的字符串对象,归为c-串,每个c-串char*类型 ...

Sat Aug 31 00:25:00 CST 2013 0 2684
stringc_str()、data()、copy(p,n)函数的用法

标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。 1. c_str():生成一个const char*指针,指向以空字符终止的数组。 注: ①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用 ...

Mon Mar 26 03:37:00 CST 2012 1 94805
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM