string类

string类

头文件:#include<string>

名称空间:using namespace std;

初始化:

string Str;

String类的构造函数和析构函数如下:

  1. string s(str) //拷贝构造函数 生成str的复制品
  2. string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值
  3. string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值
  4. string s(cstr) //将C字符串作为s的初值
  5. string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
  6. string s(num,c) //生成一个字符串,包含num个c字符
  7. string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值

string类操作

  1. swap()   //交换两个字符串的内容
  2. +=,append(),push_back() //在尾部添加字符
  3. insert() //插入字符
  4. erase() //删除字符
  5. replace() //替换字符
  6. empty()  //判断字符串是否为空
  7. [ ], at() //存取单一字符
  8. >>,getline() //从stream读取某值
  9. copy() //将某值赋值为一个C_string
  10. c_str() //将内容以C_string返回
  11. data() //将内容以字符数组形式返回
  12. 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类整理的更多相关文章

  1. 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

    Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...

  2. 整理string类常见方法的使用说明

    整理String类的Length().charAt().getChars().replace().toUpperCase().toLowerCase().trim().toCharArray()使用说 ...

  3. Java字符串String类操作方法详细整理

    关于String类的基本操作,可分为以下几类: 1.基本操作方法 2.字符串比较 3.字符串与其他数据类型之间的转换 4.字符与字符串的查找 5.字符串的截取与拆分 6.字符串的替换与修改 我觉得在整 ...

  4. 【Java】整理关于java的String类,equals函数和比较操作符的区别

    初学 Java 有段时间了,感觉似乎开始入了门,有了点儿感觉但是发现很多困惑和疑问而且均来自于最基础的知识折腾了一阵子又查了查书,终于对 String 这个特殊的对象有了点感悟大家先来看看一段奇怪的程 ...

  5. java 复习整理(四 String类详解)

    String 类详解   StringBuilder与StringBuffer的功能基本相同,不同之处在于StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此效率上S ...

  6. String类中一些的方法的应用

    一.整理string类 1.Length():获取字串长度: 2.charAt():获取指定位置的字符: 3.getChars():获取从指定位置起的子串复制到字符数组中:(它有四个参数) 4.rep ...

  7. c++中string类的详解

    ,<时返回-1,==时返回0  string的子串:string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串strin ...

  8. c++中string类的具体解释

    通过在站点上的资料搜集,得到了非常多关于string类使用方法的文档,通过对这些资料的整理和增加一些自己的代码,就得出了一份比較完整的关于string类函数有哪些和如何用的文档了! 以下先罗列出str ...

  9. Java之String类的使用细节

    String类的特点:     字符串对象一旦被初始化就不会被改变,字符串存储在字符串常量池中(字符串缓冲区).如果池中没有就创建,如果有就直接拿过来用.  代码验证如下:     String s ...

随机推荐

  1. Tips for Unix/Linux

    @1: 在单个命令中创建目录树:不要逐层创建目录,尽量使用mkdir的-p选项: ~$ mkdir -p one/two/three # 假设目录one不存在 创建复杂的目录树: ~$ mkdir - ...

  2. Django当中的sql查询

    十二:在Django中使用sql   关键字: connection     connections       transaction insert/create/update/delete/sel ...

  3. 【转】JAVA学习笔记----PL/SQL最差实践

    1. 超长的PL/SQL代码   影响:可维护性,性能   症状:    在复杂的企业应用中,存在动辄成百上千行的存储过程或上万行的包.为什么是最差:    太长的PL/SQL代码不利于阅读,第三方工 ...

  4. 前端之JQuery [续]

    JQuery使用技巧 1.prop属性实现全选,反选,取消功能 需求: 实现全选,反选,取消功能 代码如下: <!DOCTYPE html> <html lang="en& ...

  5. xml转换为对象 微信接口

    public sealed class XMLSerilizable { /// <summary> /// XML转换为对象 /// </summary> /// <t ...

  6. 协程(Coroutines)实现fibonacci函数

    def fibonacci(): yield 1 yield 1 l=[1,1] while True: l=[l[-1],sum(l[-2:])] yield l[-1] def tribonacc ...

  7. github使用——如何恢复被删去文件。

    首先git删除文件包括以下几种情况 删除本地文件,但是未添加到暂存区: 删除本地文件,并且把删除操作添加到了暂存区: 把暂存区的操作提交到了本地git库: 把本地git库的删除记录推送到了远程服务器g ...

  8. numpy模块之创建矩阵、矩阵运算

    本文参考给妹子讲python  https://zhuanlan.zhihu.com/p/34673397 NumPy是Numerical Python的简写,是高性能科学计算和数据分析的基础包,他是 ...

  9. Java 内部类、静态类内部类

    问: 什么是内部类? 答: 内部类(Inner Class)就是在一个类的内部再定义一个类,与之对应包含内部类的类被称为外部类. 问: 为什么要将一个类定义在另外一个类内部呢? 答: 内部类主要作用如 ...

  10. mac下安装py第三方库到python3下

    python3 -m pip install **** 中间可能碰到超时问题 python3 pip --default-timeout=100 install -U **** 设置默认超时时间即可 ...