C++string类整理
string类
string类
头文件:#include<string>
名称空间:using namespace std;
初始化:
string Str;
String类的构造函数和析构函数如下:
- string s(str) //拷贝构造函数 生成str的复制品
- string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值
- string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值
- string s(cstr) //将C字符串作为s的初值
- string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
- string s(num,c) //生成一个字符串,包含num个c字符
- string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值
string类操作
- swap() //交换两个字符串的内容
- +=,append(),push_back() //在尾部添加字符
- insert() //插入字符
- erase() //删除字符
- replace() //替换字符
- empty() //判断字符串是否为空
- [ ], at() //存取单一字符
- >>,getline() //从stream读取某值
- copy() //将某值赋值为一个C_string
- c_str() //将内容以C_string返回
- data() //将内容以字符数组形式返回
- substr() //返回某个子字符串
string类与字符串数组的转换
C++提供的由C++字符串得到对应的C_string的方法是使用data()、c_str()和copy(),其中,data()以字符数组的形式返回字符串内容,但并不添加’\0’。c_str()返回一个以‘\0’结尾的字符数组,而copy()则把字符串的内容复制或写入既有的c_string或字符数组内。C++字符串并不以’\0’结尾。
将string类型转换为字符数组
#include<cstdlib>
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int main()
{
string s("123456.1");
char arr[];
cout<<s.data()<<endl;//1.返回不带'\0' 的字符数组 123456.1
cout<<s.c_str()<<endl;//2.返回带 '\0'的字符数组 123456.1
s.copy(arr, );//3.回不带'\0' 的字符数组
arr[] = '\0';//不带 '\0' 输出堆栈中的垃圾
cout<<arr<<endl;//123456.1
//转数字
printf("%f\n",atof(s.data())); //123456.100000
printf("%f\n",atof(s.c_str()));//同上
printf("%f\n",atof(arr));//同上
cout<<strlen(arr)<<endl;//
cout<<strlen(s.data())<<endl;//同上
cout<<strlen(s.c_str())<<endl;//同上
return ;
}
字符数组转化成string类型
char ch [] = "ABCDEFG";
string str(ch);//也可string str = ch;
或者
char ch [] = "ABCDEFG";
string str;
str = ch;//在原有基础上添加可以用str += ch;
提取子串:
substr(),形式如下:
s.substr();//返回s的全部内容
s.substr(11);//从索引11往后的子串
s.substr(5,6);//从索引5开始6个字符
把两个字符串结合起来的函数是+。
C++string类整理的更多相关文章
- 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明
Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...
- 整理string类常见方法的使用说明
整理String类的Length().charAt().getChars().replace().toUpperCase().toLowerCase().trim().toCharArray()使用说 ...
- Java字符串String类操作方法详细整理
关于String类的基本操作,可分为以下几类: 1.基本操作方法 2.字符串比较 3.字符串与其他数据类型之间的转换 4.字符与字符串的查找 5.字符串的截取与拆分 6.字符串的替换与修改 我觉得在整 ...
- 【Java】整理关于java的String类,equals函数和比较操作符的区别
初学 Java 有段时间了,感觉似乎开始入了门,有了点儿感觉但是发现很多困惑和疑问而且均来自于最基础的知识折腾了一阵子又查了查书,终于对 String 这个特殊的对象有了点感悟大家先来看看一段奇怪的程 ...
- java 复习整理(四 String类详解)
String 类详解 StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上S ...
- String类中一些的方法的应用
一.整理string类 1.Length():获取字串长度: 2.charAt():获取指定位置的字符: 3.getChars():获取从指定位置起的子串复制到字符数组中:(它有四个参数) 4.rep ...
- c++中string类的详解
,<时返回-1,==时返回0 string的子串:string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串strin ...
- c++中string类的具体解释
通过在站点上的资料搜集,得到了非常多关于string类使用方法的文档,通过对这些资料的整理和增加一些自己的代码,就得出了一份比較完整的关于string类函数有哪些和如何用的文档了! 以下先罗列出str ...
- Java之String类的使用细节
String类的特点: 字符串对象一旦被初始化就不会被改变,字符串存储在字符串常量池中(字符串缓冲区).如果池中没有就创建,如果有就直接拿过来用. 代码验证如下: String s ...
随机推荐
- C#将图片白色背景设置为透明
Image image = System.Drawing.Image.FromFile(@"C:\A.JPG"); Bitmap pbitmap = new Bitmap(imag ...
- ThinkPHP框架基础知识一
ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来 ...
- iOS self 和 super 学习
有人问我 这个问题 回答错了,题干大概是说 [self class] 和 [super class]打印结果 是不是一样的. 我睁着眼睛说是不一样的 .因为我明明记得 几天前 做 DFS 获取反射基类 ...
- UI控件之UIImageView
UIImageView:图像视图,用于在应用程序中显示图片 UIImage:是将图片文件转换为程序中的图片对象 UIImageView是UIImage的载体 方法一:用此方法创建图片对象,会将图片ca ...
- jQuery开发入门
jQuery是JavaScript库中的优秀一员. 下载完jQuery框架文件jquery-1.9.0.js 后,不需要任何安装,仅需使用<script>文件导入标记,将该框架文件导入页面 ...
- 用js来实现那些数据结构 第二章
这一篇文章,我们一起来看看数组还有哪些用法,以及在实际工作中我们可以用这些方法来做些什么.由于其中有部分内容并不常用,所以我尽量缩小篇幅.在这篇文章内介绍完大部分的数组方法,加快我们实现其它数据结构的 ...
- springboot——数据层访问搭建 集成Duid连接池
springboot中默认是使用的tomcat的连接池,如果我们想要第三方的连接池,我们这么配置呢? 首先在application.yml文件中注释掉之前数据库的配置,重新用druid的方式配置: # ...
- Android DDMS应用
具体可见http://developer.android.com/tools/debugging/ddms.html. DDMS为IDE和emultor.真正的android设备架起来了一座桥梁.开发 ...
- 明远imx6
http://pan.baidu.com/s/1ntsrQtF#path=%252FMY-I.MX6%2520V2.5 nkuc tftpboot 0x10800000 uImage.ramdisk ...
- Shell编程之Expect自动化交互程序
一.Expect自动化交互程序 1.spawn命令 通过spawn执行一个命令或程序,之后所有的Expect操作都会在这个执行过的命令或程序进程中进行,包括自动交互功能. 语法: spawn [ 选项 ...