#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. [转帖]Runtime, Engine, VM 的区别是什么?

    这就是个WiFi和WLAN关系的问题嘛.Runtime是指用于支持程序运行时的组件,它可以是个Engine和/或VM.VM是一种系统抽象,它提供代码执行所需的API环境.Engine是一种处理抽象,它 ...

  2. 剖析插件 DataTable 自定义列表列get请求如何书写传递的参数

    重点代码Demo 已用 斜体标注 后端flask: @task_mgm.route('/taskinfo_editID=<int:num>', methods=['GET', 'POST' ...

  3. 微信小程序wxml無法實現頁面跳轉的問題

    wxml的 navigator的url設置后無法跳轉? 檢查要跳轉的頁面是否是在APP.json的tabBar里註冊過,如果是tabBar頁面是不能用wx.navigateTo和wx.Redirect ...

  4. 根据request获取请求客户端的外网ip

    //根据request获取外网ip private static String getRemoteIp(HttpServletRequest request) { //x-forwarded-for: ...

  5. HTML中文本过长时自动隐藏末尾部分或中间等任意部分

    一.    一般情况下,HTML字符串过长时都会将超过的部分隐藏点,方法如下: 设置CSS: .ellipsis-type{ max-width: 50px;                      ...

  6. Android SDK Mirror

    Android SDK Manager - Tools - Option - Proxy Settings - HTTP Proxy Server mirrors.zzu.edu.cn Force H ...

  7. asp.net core mvc ajaxform submit files

    <form id="form1" method="post" enctype="multipart/form-data" asp-co ...

  8. 当对具体的一条记录进行操作时候 需要传递该记录的id

  9. Fourier Transform Complex Conjugate Discussion

    FT of function $f(t)$ is to take integration of the product of $f(t)$ and $e^{-j\Omega t}$. By separ ...

  10. u盘中毒,启动显示找不到指定模块

    u盘中毒,插入电脑,启动显示找不到指定模块,关闭杀毒软件还是这样: 小编经常是在学校教室的电脑上插入U盘再拔出就出现这样的情况,遇到N次了, 所以决定把方法记录下来: (演示使用的是win10系统,其 ...