string中c_str()、data()、copy(p,n)函数的用法
2015-06-22 15:41
281 查看
string中c_str()、data()、copy(p,n)函数的用法
标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。1. c_str():生成一个const char*指针,指向以空字符终止的数组。
注:
①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效。因此要么现用先转换,要么把它的数据复制到用户自己可以管理的内存中。注意。看下例:
其实上面的c = s.c_str(); 不是一个好习惯。既然c指针指向的内容容易失效,我们就应该按照上面的方法,那怎么把数据复制出来呢?这就要用到strcpy等函数(推荐)。
② c_str()返回一个客户程序可读不可改的指向字符数组的指针,不需要手动释放或删除这个指针。
2. data():与c_str()类似,但是返回的数组不以空字符终止。
3. copy(p,n,size_type _Off = 0):从string类型对象中至多复制n个字符到字符指针p指向的空间中。默认从首字符开始,但是也可以指定,开始的位置(记住从0开始)。返回真正从对象中复制的字符。------用户要确保p指向的空间足够保存n个字符。
相关文章推荐
- 理解 Linux 的硬链接与软链接
- Lexus OpenCart 自适应主题模板 ABC-0017
- Lexus OpenCart 自适应主题模板 ABC-0017
- CACTI 仙人掌监控平台
- 解决Linux下安装Rust时遇到的问题
- Tomcat 的context.xml
- Linux automake命令
- photoshop画矩形款
- WebGL中的OpenGL着色器语言
- Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
- Linux SPI总线和设备驱动架构之三:SPI控制器驱动
- linux命令df
- Linux SPI总线和设备驱动架构之二:SPI通用接口层
- 重启apache
- centos7服务安装_NginxWeb服务器
- nginx 启动时出现 error while loading shared libraries: libpcre.so.1的错误
- Apache配置虚拟主机
- 笔记:Nginx搭建
- 2015-第14周项目3-OPP版电子词典
- Linux 非阻塞connect,错误码:EINPROGRESS