#include <iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std; int main(int argc, char** argv) {
string s;
char ss[];
//scanf的输入速度比cin快得多
//scanf是c语言的函数,不支持string对象
scanf("%s",&ss);
//把整个字符数组赋值给string对象
s=ss;
cout<<s<<endl;
//输出字符对象
s=s+'a'; //在string对象尾部添加一个a
s=s+"";
s.append(""); //与+具有相同的功能
s="";
string::iterator it;
it=s.begin();
s.insert(it+,'p'); //把p插入到第一个字符前
cout<<s<<endl;
cout<<s[]<<endl; //可用下标来访问string对象的元素
s.erase(it,it+); //删除0~4区间的所有元素
s=""; //清空字符串
s="abc123456";
//从第3个开始,将连续的3个字符替换为"good"
//即将"123"替换为"good"
s.replace(,,"good");
cout<<s<<endl;
s="cat dog cat";
//查找第一个字符为'c',返回下标值
cout<<s.find('c')<<endl;
//查找第一个子串为"c",返回下标值
cout<<s.find("c")<<endl;
//s与"cat"字符串比较,大返回1,等于返回0,小于返回-1
cout<<s.compare("cat")<<endl;
//将字符串s反向排序
reverse(s.begin(),s.end());
cout<<s<<endl;
//string对象可以作为vector向量的元素,类似于字符串数组
vector<string> v;
v.push_back("Jack");
v.push_back("Mike");
v.push_back("Tom");
cout<<v[]<<endl;
cout<<v[]<<endl;
cout<<v[]<<endl;
cout<<v[][]<<endl;
cout<<v[][]<<endl;
cout<<v[].length()<<endl;
//string类型的数字化处理
s="";
int i;
int sum=;
for(i=;i<s.length();i++)
{
if(s[i]=='')sum+=;
else if(s[i]=='') sum+=;
else if(s[i]=='') sum+=;
else if(s[i]=='') sum+=;
else if(s[i]=='') sum+=;
else if(s[i]=='') sum+=;
else if(s[i]=='') sum+=;
else if(s[i]=='') sum+=;
else if(s[i]=='') sum+=;
else if(s[i]=='') sum+=;
}
cout<<sum<<endl;
char sss[];
//输入字符串到字符数组中
scanf("%s",&sss);
//字符数组赋值给字符串对象
s=sss;
//用printf输出字符串对象,要采用c_str()方法
printf(s.c_str()); //cout<<s<<endl; 用cout输出字符串对象
cout<<endl;
//用printf输出字符数组
printf("%s",sss); //cout<<sss<<endl; 用cout输出字符数组
cout<<endl;
//sscanf把一个字符串按你的需要的方式分离出子串
string s1,s2,s3;
char sa[],sb[],sc[];
//把字符串分成子串,分隔符为空格
sscanf("abc 123 pc","%s %s %s",sa,sb,sc);
s1=sa;
s2=sb;
s3=sc;
cout<<s1<<" "<<s2<<" "<<s3<<endl;
//用字符串分离成数字,分隔符为空格
//当用到数字的时候,和scanf一样,它要传地址
int a,b,c;
sscanf("1 2 3","%d %d %d",&a,&b,&c);
cout<<a<<" "<<b<<" "<<c<<endl;
//将字符串分离成数字,分隔符为“,”和“$”
//当用到数字的时候,跟 scanf 一样,它要传指针地址
int x,y,z;
sscanf("4,5$6","%d,%d$%d",&x,&y,&z);
cout<<x<<" "<<y<<" "<<z<<endl;
return ;
}

string的基本用法的更多相关文章

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

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

  2. sstream头文件-getline 函数 和 stringstream函数 和string的常见用法

    2017-08-12 19:50:50 writer:pprp getline函数可以读入一行的字符,不论有没有空格 第一个参数,流 第二个参数 ,将流读入的地方 第三个参数,当读到某个字符的时候停止 ...

  3. 详解 SWT 中的 Browser.setUrl(String url, String postData, String[] headers) 的用法

    http://hi.baidu.com/matrix286/item/b9e88b28b90707c9ddf69a6e ———————————————————————————————————————— ...

  4. String的高级用法(String.Format)

    string.Format C#的String.Format的一般地我们可以直接使用string.format()或int.ToString()和float.ToString() 下面是一些Strin ...

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

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

  6. [C++][语言语法]标准C++中的string类的用法总结

    转自:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 要想使用标准C++中string类,必须要包含 #include ...

  7. JavaScript学习总结一(String对象的用法)

    javascript String对象的常用API 1:indexOf indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置.如果没有找到匹配的字符串则返回 -1.注意: inde ...

  8. 标准C++中string类的用法

    转自博客园:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非 ...

  9. 标准C++中的string类的用法总结(转)

    http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的 ...

  10. 【C++】C++中的string类的用法总结

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

随机推荐

  1. C#如何调用C++的dll

     背景 一个项目,算法部分使用C++的openCV库编写图像处理程序,编译成dll,用户界面采用C#编写,去调用该dll暴露的接口. C#编写的是托管代码,编译生成微软中间语言,而普通C++代码则编译 ...

  2. 剑指offer(1)

    题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

  3. 在浏览器上安装 Vue Devtools工具

    Vue.js devtools是基于google chrome浏览器的一款调试vue.js应用的开发者浏览器扩展,可以在浏览器开发者工具下调试代码. 1)首先在github下载devtools源码,地 ...

  4. 图解Python的直接赋值与浅拷贝和深度拷贝三者区别

    直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 ...

  5. Hadoop2.0 Namenode HA实现方案

    Hadoop2.0 Namenode HA实现方案介绍及汇总 基于社区最新release的Hadoop2.2.0版本,调研了hadoop HA方面的内容.hadoop2.0主要的新特性(Hadoop2 ...

  6. windows php7 安装redis扩展

    1,首先查看phpinfo 这会决定扩展文件版本(特别注意以php版本的architecture是x86还是64为准,不能以操作系统为准): 2.根据PHP版本号,编译器版本号和CPU架构  一定要根 ...

  7. python之路--MySQl单表查询

    一.  关键字的执行优先级(重点) from where group by having # 使用是要放在group by 后面而且前面必须有group by select distinct # 去重 ...

  8. pycharm 安装

    pycharm 1.模板 file->setting->Editor->file and code template->python script->右上方 #!/usr ...

  9. 三、Docker网络

    一.查看8001端口是否开启处监听状态 netstat -apnl | grep 8001 二.使用brctl show可以看到虚拟机的网络关系 brctl show docker每新建一个conta ...

  10. LODOP打印控件如何提示用户升级下载安装新版本

    Lodop.C-Lodop在不断完善功能和更新中,新版本修复了很多问题,以及增加很多有利的功能,网站如何更新版本,提示用户下载新版本呢?更新版本很简单,只需要三步:1.替换提示安装部分的自己放置的路径 ...