• C++string类整理


    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()以字符数组的形式返回字符串内容,但并不添加’’。c_str()返回一个以‘’结尾的字符数组,而copy()则把字符串的内容复制或写入既有的c_string或字符数组内。C++字符串并不以’’结尾。

    string类型转换为字符数组

    #include<cstdlib>
    
    #include<iostream>
    
    #include<cstdio>
    
    #include<string>
    
    #include<cstring>
    
    using namespace std;
    
    int main()
    
    {
    
           string s("123456.1");
    
           char arr[10];
    
           cout<<s.data()<<endl;//1.返回不带'' 的字符数组 123456.1
    
           cout<<s.c_str()<<endl;//2.返回带 ''的字符数组 123456.1
    
           s.copy(arr, 8);//3.回不带'' 的字符数组
    
           arr[8] = '';//不带 '' 输出堆栈中的垃圾
    
           cout<<arr<<endl;//123456.1
    
           //转数字
    
           printf("%f
    ",atof(s.data())); //123456.100000
    
           printf("%f
    ",atof(s.c_str()));//同上
    
           printf("%f
    ",atof(arr));//同上
    
          
    
           cout<<strlen(arr)<<endl;//8
    
           cout<<strlen(s.data())<<endl;//同上
    
           cout<<strlen(s.c_str())<<endl;//同上
    
           return 0;
    
    }

    字符数组转化成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个字符

    把两个字符串结合起来的函数是+。

  • 相关阅读:
    从B树、B+树、B*树谈到R 树
    The Log-Structured Merge-Tree(译)
    Leveldb源码分析--2
    Leveldb源码分析--1
    little-endian And big-endian
    Fixed数据类型
    Varint数值压缩存储方法
    JavaEE开发之SpringBoot工程的创建、运行与配置
    Javaee基本框架(Struts2,Spring,MyBatista)之间的关系
    XLM解析技术概述
  • 原文地址:https://www.cnblogs.com/langyao/p/8747583.html
Copyright © 2020-2023  润新知