精华内容
下载资源
问答
  • c++ string用法

    2020-03-31 21:36:28
    c++ string string str1=string(5,‘m’) ; //str1=“mmmmm”; string str2=“hello everyone” ; //str2=“hello everyone”; string str3=string(str2,6); //从str2的第六个字符到结束拷贝到str3中;str3=...

    c++ string
    string str1=string(5,‘m’) ; //str1=“mmmmm”;
    string str2=“hello everyone” ; //str2=“hello everyone”;
    string str3=string(str2,6); //从str2的第六个字符到结束拷贝到str3中;str3=“everyone”;
    注意hello中的h为第0个字符;
    string str4(str2,1,5) //从第1个字符开始,拷贝五个字符到str4中; str4=“ello ”;

    char a[]=“hello everyone” ;
    string s1(a,5) //s1=“hello”;

    展开全文
  • C++ string用法

    2020-04-09 18:33:25
    #include <iostream> #include <string> using namespace std; int main() { //1. operate= 的方式 //赋值操作 string str1; str1="hello world"; cout<<str1<<endl; //复...

    C++ string
    C++中使用string类时首先得包含文件,string是一个类,类内部封装了char*,管理这个字符串。
    string类中有许多成员方法
    如 find 查找,copy复制,delete删除,replace替换,insert插入,另外string也可以直接当做一个数组来用,
    如定义一个string str,可以用遍历数组的方法输出str.

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        //1. operate=  的方式
        //赋值操作
        string str1;
        str1="hello world";
        cout<<str1<<endl;
        //复制操作
        string str2;
        str2=str1;
        cout<<str2<<endl;
        //2. assign 的方式
        //赋值操作
        string str3;
        str3.assign("hello world");
        cout<<str3<<endl;
        //吧字符串s的前n个字符赋给当前的字符串
        string str4;
         str4.assign("hello wordl",5);
        cout<<str4<<endl;
        // 复制操作
        string str5;
        str5.assign(str1);
        cout<<str5<<endl;
        //用n个字符c赋给当前字符串
        string str6;
        str6.assign(5,'c');
        cout<<str6<<endl;
        // (1)字符串拼接
        string str7=str1+str2;
        cout<<str7<<endl;
        //(2) 把字符串s的前n个字符连接到当前字符串结尾
        /*
        string& append(const string &s,int pos,int n)
        //第二个参数int pos指从第几字符开始输出,第二个int n是输出几个字符
        */
        string str8="我和彭于晏一样";
        str8.append("高富帅");
        string str9="rich";
        str8.append(str9,1,2);
        cout<<str8<<endl;
         //字符查找
        string str10="I love study";
        int pos=str10.find("ve");
        //输出结果为3,表示v在字符串的位置.
        cout<<"字符串位置是"<<pos<<endl;
        //字符替换
        str10.replace(0,1,"we");
        //表示把第0个到第一个的字符替换成"we"
        //输出结果 we love study
        cout<<str10<<endl;
        /字符串比较
        //字符串比较是按字符的ASCLL码进行比较的
        //= 返回 0
        //> 返回 1
        //< 返回 -1
        //函数原型 int compare(const string &s)const;
        //字符存取
        string str11="I love life";
        for(int i=0;i<str11.size();i++)
         cout<<str11[i]<<" ";
            cout<<endl;
        // 字符修改
        str11[0]='y';
        //字符串插入和删除
        string str12="RUSH";
        //插入
        str12.insert(1,"www");
        cout<<str12<<endl;
        //删除
        str12.erase(1,3);
        cout<<str12<<endl;
         /** 插入和删除的起始下标都是从0开始的**/
        //从字符串中获取想要的字符串
        //string substr(int pos =0,int n=npos)const;
        string str13="ABCDEFG";
        string subStr=str13.substr(0,3);//从0开始,截取三个字符
        cout<<"subStr="<<subStr<<endl;
    展开全文
  • C++string用法

    2020-04-12 21:06:51
    字符串查找 头文件string.h与cstring的区别 “string.h”和ctring都是用来定义处理字符数组char函数的头文件,后者只不过是C++语言为了统一标准命名空间管理而建立另一个管理函数的头文件,内容都差不多,稍有改进。...

    头文件string.h与cstring的区别

    “string.h”和ctring都是用来定义处理字符数组char函数的头文件,后者只不过是C++语言为了统一标准命名空间管理而建立另一个管理函数的头文件,内容都差不多,稍有改进。
    C/C++中关于字符串头文件有很多,这里先稍微介绍一下“string.h”,“cstring”,“string”头文件以及MFC库中CString类的区别。
     CString说了是MFC中专属类,不作图形界面暂且不用掌握,实际使用和“string”头文件string类很相似。
     “string.h”头文件中则包含的是C语言标准库定义的,用来处理字符数组char
    的函数方法。
      “cstring”头文件实际上只是在一个命名空间std中包含了“string.h”,这是因为C++要减少名称污染,当遇到用户自己定义了名称相同的函数,能够与标准库std中函数区分开。
       而“string”是包含了C++专门定义一个处理字符串的类string的头文件。

    string类对象的各种方法函数

    初始化

    char *pl = "Hello!"; 
    string a = "World yeyey";//类中重载了赋值符号,可以直接赋值字符串常量  
    string b = pl;           //字符串数组赋值初始化
    string str("abc");       //调用有参构造函数赋值
    string c(pl);            //同上
    string d = c;            //赋值符号重载
    string e (5,'a');        //n个字符初始化
    

    重载运算符

    string类中重载了很多操作符,例如:
      赋值“=,+=”、比较操作符“>, <, >=, <=, ==, !=”,移位操作符“<<, >>”,连接“+”等等。

    e += a; //e的结果为:"aaaaaWorld yeyey" 
    

    访问字符串字符

    char al    = a[1];    //访问第二个元素,'o'
    char alNew = a.at(0); //访问第一个元素,‘W’
    string::iterator i;
    for(i=a.begin();i<a.end();i++)
        cout<<*i;         //从头打印字符串a,迭代子可以看成就是指针,通过指针符间接访问
    

    字符串查找/增加/插入/交换等操作

    e.append(a);        //字符串a附加到字符串e尾部,类似“+”操作符
    
    e.empty();          //判断字符串e是否为空,空则返回1,否则返回0
    
    e.swap(a);          //交换字符串对象e和a的值
    
    char nzArr[20]={0};
    e.copy(nzArr,5,0)   //拷贝字符串e从第0(默认也为0)索引到第五给字符数组
    
    int i = a.find('W');//找到对应字符再字符串a中最先出现的索引位
    
    string strInst = e.insert(3,"vvvvvv");//在e字符串3索引位上插入一个字符串,并赋给新字符串对象
    string strSub  = e.substr(0,size(e)-5);//取(第一个参数默认为0,也可以不写)0至倒数第5个字符
    string strEra  = e.erase(0,size(e)-5);//删除对应段字符赋给新字符串
    

    在求字符串长度上,string可以代替传统的C字符串,所以应该针对C中的strlen,给出相应的函数length( )。也可以用作STL容器,所以要按照STL容器的惯例给出size( )。

    字符串大小

    e.size();
    e.length();   //两个都是求字符串e的长度,使用上没有区别
    
    //string函数
    char nzArr[100] = "abcdef";
    int nLen = strlen(nzArr); //结果为6,并不是100,和分配数组内存大小无关
    

    字符串输入输出操作

    string str;
    cin>>str;        //输入,取字符串遇空格停
    cout<<str<<endl; //输出
    getline(cin,str);//获得一行字符串
    

    详细操作见:
    csdn无鞋童鞋

    字符串比较大小

    string str1="123";
    string str2="123";
    if(str1.compare(str2)==0)
        cout<<"equal"<<endl; // 如果两个字符串相等则输出“equal”
    
    //string函数
    char nzArr[10]="abc",nzBuf[10]="abC";
    int nRel  = strcmp(nzArr,nzBuf); //结果为1
    int nRel1 = strcmpi(nzArr,nzBuf);//结果为0
    int nRel2 = strncmp(nzArr,nzBuf,2);//结果为0
    

    字符串拷贝、连接、赋值函数

    拼接函数strcat
    拼接函数,用来将后一个字符数组内容加载在前一个字符数组的后面,并且会自动去除前一个字符数组最后的字符结束符’\0char nzArr[100]="abcd",nzBuf[100]="DDDD";
    strcat(nzArr,nzBuf);  //nzArr结果为“abcdDDDD”,注意不要超过字符数组空间大小
    
     strset 
     设定字符数组全为某一字符,如果存在‘\0’结束符,遇结束符停止赋值。
     char nzArr[100]="abcd";
    strcat(nzArr,'g');  //nzArr结果为“gggg”,如果未初始化,则100个空间都为'g'
    
    memset
    与strset类似,赋值字符数组指定字符,但可以指定个数。
    char nzArr[100]="abcd";
    memset(nzArr,'g',sizeof(nzArr));  //nzArr中全为0,该函数是空间操作,不遇'\0'停止
    
    strstr/strchr 
    都是查找第二个参数第一次出现在第一个字符数组的位置,前者是查找字符数组,而后者是字符。但是注意返回,返回的是参数出现的地址,需要赋给char*指针来存储,而不是一个索引。
    char nzArr[10] ="ababcde",nzBuf[10]="abc";
    char* nzCount  = (char*)malloc(sizeof(char)*10);
    char* nzCount1 = (char*)malloc(sizeof(char)*10);//结果分配空间
    memset(nCount,0,sizeof(nCount));   //赋初值
    memset(nCount1,0,sizeof(nCount1)); //防止未匹配到指定字符或字符数组,而成为野指针
    nzCount = strstr(nzArr,nzBuf);     //返回为'abcde'
    nzCount1 = strstr(nzArr,'c');      //返回为'cc'
    

    字符串查找

    char a[] = "abcddabc";
        char b[] = "dda";
        int j;
        string str1(a);
        string str2(b);
        //方法一
        int i = str1.find(str2);  //返回即子字符串索引3
        //方法二
        char *rel = strstr(a, b); //首次出现地址,strstr保存的是ddabc
    

    参考博客

    展开全文
  • C++ String用法

    2020-02-19 22:27:54
    https://blog.csdn.net/qq_37941471/article/details/82107077
    展开全文
  • C++ string 用法

    2020-02-02 21:47:32
    http://c.biancheng.net/view/400.html
  • c++ string 用法详解

    万次阅读 多人点赞 2018-11-13 08:50:27
    c++ string 用法详解
  • c++ string 用法

    2016-05-26 13:39:53
    转载自:... string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;stri
  • c++string用法详解

    2014-12-13 15:37:38
    c++string用法详解用法详解,c++string各种函数工具,string函数很好用,像幅值,字符串函数的超全应用
  • C++ string 用法详解

    2015-06-27 17:12:39
    C++ string 用法详解 C++ string 详解 任何人对本文进行引用都要标明作者是Nicolai M.Josuttis /////////////////////////////////////////////////////////////////////////////////// C++ 语言是个十分优秀的...
  • C++ string 用法详解(内部实现)

    千次阅读 2015-06-03 16:37:24
    C++ string 用法详解 C++ string 详解 任何人对本文进行引用都要标明作者是Nicolai M.Josuttis /////////////////////////////////////////////////////////////////////////////////// C++ 语言是个...
  • c++string用法总结

    2021-01-28 20:48:32
    转载原地址 https://blog.csdn.net/qq_37941471/article/details/82107077 原博文地址
  • C++ string用法总结

    2020-01-16 16:37:14
    大小写转换: 利用STL的algorithm库 ...string a = "ABC"; string b = "abc"; transform(a.begin(), a.end(), a.begin(), ::tolower); //转换为小写 transform(a.begin(), a.end(), a.begin(), ::toupper);...
  • 流(stream)为C++的输入输出操作提供了许多的便利,通常我们使用的流是std::out用于输出,使用std::cin用于接收用户的输入,除此之外,C++还提供了文件流用于实现文件的读写操作,字符串流用于进行字符串的操作。C++...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,340
精华内容 1,736
关键字:

c++string用法

c++ 订阅