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 ...
随机推荐
- App的开发过程
不同的项目管理模式或许会有完全不同的流程步骤.但是专业性几乎是保证产品质量的唯一准则. App的开发过程主要分为以下阶段,本文会按顺序为大家简单地说明: 1.需求梳理.分析 2.产品原型图绘制 3.U ...
- Python基础-序列化(json/pickle)
我们把对象(变量)从内存中变成可存储的过程称之为序列化,比如XML,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等 ...
- pandas(一)操作Series和DataFrame的基本功能
reindex:重新索引 pandas对象有一个重要的方法reindex,作用:创建一个适应新索引的新对象 以Series为例 >>> series_obj = Series([4. ...
- 04_Apache Hadoop 生态系统
内容提纲: 1)对 Apache Hadoop 生态系统的认识(Hadoop 1.x 和 Hadoop 2.x) 2) Apache Hadoop 1.x 框架架构原理的初步认识 3) Apache ...
- Guidelines for Successful SoC Verification in OVM/UVM
By Moataz El-Metwally, Mentor Graphics Cairo Egypt Abstract : With the increasing adoption of OVM/UV ...
- mongodb中的__v字段
"__v"是"versionKey"的简写,当每一个文档由mongoose创建时就会自动添加,代表这该文档的版本,此属性可配置修改,默认为"__v&q ...
- 教你在windows10环境下如何安装minepy并成功运行!
在学习使用sklearn做单机特征工程这篇文章时,发现在计算互信息时from minepy import MINE代码运行出错ModuleNotFoundError: No module named ...
- Bootstrap3组件--2
目录 1. 分页 2. 标签 3. 徽章 4. 巨幕 5. 页头 6. 缩略图 7. 警告框 8. 进度条 9. 列表组 10. 面板 11.Well 1. 分页 <!doctype html& ...
- MongoDB快速入门(三)- 集合
创建集合 MongoDB 的 db.createCollection(name, options) 用于创建集合. 在命令中, name 是要创建集合的名称. Options 是一个文档,用于指定集合 ...
- 斯特林公式求N!
n!的长度为 ll ans = log10(2*pi*n)/2 + n*(log10(n/exp(1.0)))+1;