zoukankan      html  css  js  c++  java
  • C++ string类

    #include <iostream>
    #include <string>  //导入类,同时必须使用 using namespace std;
    //这个类是窄字节的
    using namespace std;
     
    int main ()
    {
       string str1 = "Hello 李明";
       string str2 = "World";
       string str3;
       string s();
       string s1("liming");
       string s3(4, 'K');  // s3 = "KKKK"
          
       int  len ;
           
       str3 = str1;  // 复制 str1 到 str3
       //传值 
       len = str1.size(); //返回字符串的字节数 
       
       string s2("12345", 1, 3);  //提取子串
       //从序号1开始,提取3个字节 
       s2.assign("abcde", 2, 3);  //提取子串
       s2.assign(4, 'K');  // s2 = "KKKK"
       str3 = str1 + str2; //字符串连接
       s2+=str1;  //字符串连接
       s2="abcdefgh";
       s1="lm";
       //s1.append(s2); //在s1的尾部追加s2
       //s1.append(s2, 1, 2);  // s1 = "lmbc" 
       s1.append(3, 'K'); //s1 = "lmKKK" 
       
       //可以用 <、<=、==、!=、>=、> 运算符比较 string 对象
       s1="liming";
       s2="liMing lm";
       int n = s1.compare(s2);  //字符串比较 
       //比较的是ASCii吗 
       //小于 0 表示s1小;等于 0 表示两个字符串相等;大于 0 表示s2小
       
       s1 = "this is ok";
       s2 = s1.substr(2, 4);  //返回子串
       //从序号2开始取4个字节
       s2 = s1.substr(2); //返回子串
       //序号2开始到结尾
       s1.swap(s2);// 交换两个字符串的内容 
       
       s1="wo is liming isLM";
       n=s1.find('s',5);  //查找字符第一个的位置--序号
       //如果查不到,则返回 string::npos
       //参数2--可选:开始查找的位置 
       //从前往后查
       n=s1.find("is",1);  //查找字符串第一个的位置--序号
       //如果查不到,则返回 string::npos
       //参数2--可选:开始查找的位置 
       //从前往后查
       
       n=s1.rfind('s',10);//查找字符第一个的位置--序号
        //从后往前找 
        //如果查不到,则返回 string::npos
       //参数2--可选:开始查找的位置
       
       n=s1.rfind("is",10);//查找字符串第一个的位置--序号
        //从后往前找 
        //如果查不到,则返回 string::npos
       //参数2--可选:开始查找的位置
       
       n=s1.find_first_of("is",5);//查找s1中第一次出现"is"中任一字符的位置
       //如果查不到,则返回 string::npos
       //参数2--可选:开始查找的位置 
       //从前往后查
       
       n=s1.find_last_of("is",15); //查找s1中第一次出现"is"中任一字符的位置
       //如果查不到,则返回 string::npos
       //参数2--可选:开始查找的位置 
       //从后往前找
       
       n=s1.find_first_not_of("is",5); //查找s1中没有出现"is"中任一字符的位置
       //如果查不到,则返回 string::npos
       //参数2--可选:开始查找的位置 
       //从前往后查
       
       n=s1.find_last_not_of("is",5);//找s1中没有出现"is"中任一字符的位置
       //如果查不到,则返回 string::npos
       //参数2--可选:开始查找的位置
       //从后往前查找
       
       s1="Real Steel";
       s1.replace(1, 3, "123456", 2, 4);  //用 "123456" 的子串(2,4) 替换 s1 的子串(1,3)
       s1="Harry Potter";
       s1.replace(2, 3, 5, '0');  //用 5 个 '0' 替换子串(2,3)
       s1="Real Steel";
       s1.replace(3, 5, "XXX");  //将子串(3,5)替换为"XXX"
       
       s1="Real Steel";
       s1.erase(1, 3);  //删除子串(1, 3),此后 s1 = "R Steel"
       s1="Real-Steel";
       s1.erase(5);  //删除下标5及其后面的所有字符,此后 s1 = "Real-"
       
       s1="liming";
       s2="1234";
       s1.insert(2, "123");  //在下标2处插入字符串"123",s1 = "li123ming"
       s1="liming";
       s1.insert(2, s2);  //在下标2处插入 s2 , s1 = "li1234ming"
       s1="liming";
       s1.insert(2, 5, 'X');  //在下标2处插入 5个'X',s1 = "lixxxxxming"
       
       
          
       cout << s1<<endl;
      
       return 0;
    }
    string s = "liming";
        s[2] = 'M';  //修改某个字符
        cout << s;
    #include <iostream>
    #include <string> 
    using namespace std;
    #include <sstream>
     
    int main ()
    {
       //使用流对象 istringstream 和 ostringstream,可以将 string 对象当作一个流进行输入输出。使用这两个类需要包含头文件 sstream
       string src("Avatar 123 5.2 Titanic K");
       istringstream iStream(src); //建立src到istrStream的联系
       string s1, s2;
       int n;  double d;  char c;
       iStream >> s1 >> n >> d >> s2 >> c; //把src的内容当做输入流进行读取
       //从输入流 iStream 进行读取,过程和从 cin 读取一样,只不过输入的来源由键盘变成了 string 对象 src。因此,"Avatar" 被读取到 s1,123 被读取到 n,5.2 被读取到 d,"Titanic" 被读取到s2,'K' 被读取到 c
       cout <<s1<<endl;
       cout <<n<<endl;
       cout <<d<<endl;
       cout <<s2<<endl;
       cout <<c<<endl;
       
       ostringstream oStream;  //创建输出流
       oStream << s1 << endl << s2 << endl << n << endl << d << endl << c <<endl; 
       //将变量值输出到流 ostrStream 
        cout << oStream.str();
        //用 ostringstream类的str成员函数把ostringstream对象中的内容提取出来
       
      
       return 0;
    }

  • 相关阅读:
    小心!你被“大数据”锁定了
    深入浅出安卓,怎样从零学好移动开发
    Cocos2d-x3.0触摸
    将Spring源代码导入eclipse步骤
    vertica时间计算SQL语句实例:统计一天内登录的用户
    cocos2d-x 2.2 创建项目
    Codeforces-475B Strongly Connected City
    java socket通信-传输文件图片--传输图片
    listView解决滑动时黑色背景问题
    UVa 10450
  • 原文地址:https://www.cnblogs.com/liming19680104/p/13411914.html
Copyright © 2011-2022 走看看