1 #include <iostream>
  2 #include<string>
  3 #include<vector>
  4 #include<algorithm>
  5 using namespace std;
  6
  7
  8 int main(int argc, char** argv) {
  9     string s;
 10     char ss[5000];
 11     //scanf的输入速度比cin快得多
 12     //scanf是c语言的函数,不支持string对象
 13     scanf("%s",&ss);
 14     //把整个字符数组赋值给string对象
 15     s=ss;
 16     cout<<s<<endl;
 17     //输出字符对象
 18     s=s+'a';      //在string对象尾部添加一个a
 19     s=s+"123";
 20     s.append("123");   //与+具有相同的功能
 21     s="123456";
 22     string::iterator it;
 23     it=s.begin();
 24     s.insert(it+1,'p');   //把p插入到第一个字符前
 25     cout<<s<<endl;
 26     cout<<s[0]<<endl;     //可用下标来访问string对象的元素
 27     s.erase(it,it+4);     //删除0~4区间的所有元素
 28     s="";    //清空字符串
 29     s="abc123456";
 30     //从第3个开始,将连续的3个字符替换为"good"
 31     //即将"123"替换为"good"
 32     s.replace(3,3,"good");
 33     cout<<s<<endl;
 34     s="cat dog cat";
 35     //查找第一个字符为'c',返回下标值
 36     cout<<s.find('c')<<endl;
 37     //查找第一个子串为"c",返回下标值
 38     cout<<s.find("c")<<endl;
 39     //s与"cat"字符串比较,大返回1,等于返回0,小于返回-1
 40     cout<<s.compare("cat")<<endl;
 41     //将字符串s反向排序
 42     reverse(s.begin(),s.end());
 43     cout<<s<<endl;
 44     //string对象可以作为vector向量的元素,类似于字符串数组
 45     vector<string> v;
 46     v.push_back("Jack");
 47     v.push_back("Mike");
 48     v.push_back("Tom");
 49     cout<<v[0]<<endl;
 50     cout<<v[1]<<endl;
 51     cout<<v[2]<<endl;
 52     cout<<v[0][0]<<endl;
 53     cout<<v[1][0]<<endl;
 54     cout<<v[2].length()<<endl;
 55     //string类型的数字化处理
 56     s="1234059";
 57     int i;
 58     int sum=0;
 59     for(i=0;i<s.length();i++)
 60     {
 61         if(s[i]=='0')sum+=0;
 62         else if(s[i]=='1') sum+=1;
 63         else if(s[i]=='2') sum+=2;
 64         else if(s[i]=='3') sum+=3;
 65         else if(s[i]=='4') sum+=4;
 66         else if(s[i]=='5') sum+=5;
 67         else if(s[i]=='6') sum+=6;
 68         else if(s[i]=='7') sum+=7;
 69         else if(s[i]=='8') sum+=8;
 70         else if(s[i]=='9') sum+=9;
 71     }
 72     cout<<sum<<endl;
 73     char sss[100];
 74     //输入字符串到字符数组中
 75     scanf("%s",&sss);
 76     //字符数组赋值给字符串对象
 77     s=sss;
 78     //用printf输出字符串对象,要采用c_str()方法
 79     printf(s.c_str());   //cout<<s<<endl; 用cout输出字符串对象
 80     cout<<endl;
 81     //用printf输出字符数组
 82     printf("%s",sss);     //cout<<sss<<endl;   用cout输出字符数组
 83     cout<<endl;
 84     //sscanf把一个字符串按你的需要的方式分离出子串
 85     string s1,s2,s3;
 86     char sa[100],sb[100],sc[100];
 87     //把字符串分成子串,分隔符为空格
 88     sscanf("abc 123 pc","%s %s %s",sa,sb,sc);
 89     s1=sa;
 90     s2=sb;
 91     s3=sc;
 92     cout<<s1<<" "<<s2<<" "<<s3<<endl;
 93     //用字符串分离成数字,分隔符为空格
 94     //当用到数字的时候,和scanf一样,它要传地址
 95     int a,b,c;
 96     sscanf("1 2 3","%d %d %d",&a,&b,&c);
 97     cout<<a<<" "<<b<<" "<<c<<endl;
 98     //将字符串分离成数字,分隔符为“,”和“$”
 99     //当用到数字的时候,跟 scanf 一样,它要传指针地址
100     int x,y,z;
101     sscanf("4,5$6","%d,%d$%d",&x,&y,&z);
102     cout<<x<<" "<<y<<" "<<z<<endl;
103     return 0;
104 }

转载于:https://www.cnblogs.com/zjl192628928/p/9142039.html

string的基本用法相关推荐

  1. string类具体用法

    string类具体用法 二话不说上代码 #include<string> #include<iostream> #include<algorithm> using ...

  2. string和stringstream用法总结

    string和stringstream用法总结 一.string string 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能.要使用 string, ...

  3. string的常见用法详解

    目录 string的定义 string中内容的访问 string常用函数实例解析 在C语言中,一般使用字符数组char str[]来存放字符串,但是使用字符数组有时会显得操作麻烦,而且容易因经验不足而 ...

  4. String.format() 方法用法解说

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. String chargeFlowUrl = _AGENT_URL+ "?agentAcc ...

  5. C++string类常用函数 c++中的string常用函数用法总结

    string类的构造函数: string(const char *s);    //用c字符串s初始化 string(int n,char c);     //用n个字符c初始化 此外,string类 ...

  6. String.matches()的用法

    String.matches()的用法 String.matches() 这个方法主要是返回是否匹配指定的字符串,如果匹配则为true,否则为false; 如:/** 判断字符创是否是一个有效的日期 ...

  7. C++中string::npos的用法总结

    C++中string::npos的用法总结 一.关于npos的定义 二.nops的常见用法 三.注意点 一.关于npos的定义 在cplusplus.com中有如下解释: static const s ...

  8. java中String的常见用法总结

    首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 以下是关于str ...

  9. c++中string 的replace用法

    转载于这位博主:链接1 链接2 c++ string string 的replace用法 string替换指定字符串内的所有字段 string 的replace用法 /*用法一: *用str替换指定字 ...

  10. 标准C++中的string类的用法总结

    相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...

最新文章

  1. POJ2492 A Bug s Life 题解
  2. 数据恢复 从binlog文件
  3. 004_Queue消息模式发送文本消息
  4. Python:对字符串匹配算法的分析
  5. 基于rancher在线安装k8s集群
  6. Linux设备驱动的分层设计思想
  7. 【面试总结】java测试工程师培训
  8. 电脑的发展史_UI设计发展史及未来
  9. 对JDBC进行简单的封装
  10. ConcurrentModificationException---异常剖析
  11. 关于数学建模竞赛经历
  12. matlab晶闸管整流电路,基于Matlab GUI的整流电路仿真
  13. 超硬核Java工程师秋招回忆录+面经汇总,为了拿BAT的研发offer我都做了那些准备?
  14. 使用微PE制作启动U盘重装系统教程
  15. x86已安装该产品 剑灵vcredist_vcredist_x86.exe 每次我一安装都出现这个提示,请问这是怎么回事,该怎么解决?谢谢...
  16. python area函数,python3 函数
  17. 通过IMAP方式迁移U-Mail邮件到Exchange 2013之2008R2 AD搭建!
  18. centos 安装Times New Roman
  19. PHP+AJAX开发幸运大转盘抽奖
  20. Three.js地球开发—6.三维球面上某点进行贴图标注

热门文章

  1. POJ 3254 poj3254 Corn Fields
  2. Java基础知识强化23:Java中数据类型转换(面试题)
  3. extracting lines bases a list using awk
  4. 遍历目录下的所有文件-os.walk
  5. 和菜鸟一起学产品之产品经理的三大文档
  6. form input类型
  7. 牛客网模拟笔试——黑化的牛牛(JavaScript)
  8. 序列每天从0开始_006 Python基础:通用序列操作
  9. USB 3.0 是什么
  10. 什么是互联网保险平台?