常用代码整理:

  

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
bool startWith(const string &str,const char* prex)
{
int pos = str.find(prex);
return pos == ;
}
bool endWith(const string & str,char* prex)
{
int pos = str.rfind(prex);
return pos == str.length()-strlen(prex);
} int main()
{
char cstr[] = "abcdefg";
string str(cstr); //字节数
//length与size内部实现与值都是一样的,length只是沿用
//之前的c语言风格
printf("%d %d\n",str.length(),str.size()); //追加
string str2("");
str += str2; //方法1
printf("%s\n",str.c_str());
char cstr2[] = "";
str.append(cstr2); //方法2
printf("%s\n",str.c_str()); //子串,substr参数(int pos,int len);
str = str.substr(,strlen(cstr));
printf("%s\n",str.c_str()); //比较,返回值为int,为0相等
int ret = str.compare(str2);
printf("%d\n",ret); //查找
int pos = str.find("bcd",);
printf("pos = %d\n",pos); //替代,替代的长度与字符串的长度可以不相等
//对本身的修改
str.replace(,,str2);
printf("%s\n",str.c_str()); //插入
//对本身的修改
str.insert(,str);
printf("%s\n",str.c_str()); //请后缀判断
cout<<"test\n";
string str5("123abcdg321");
cout<<startWith(str5,"")<<" "<<startWith(str5,"")<<endl;
cout<<endWith(str5,"")<<" "<<endWith(str5,"")<<endl; return ;
}

例题有浙大PAT甲级1058

链接如下:

https://www.patest.cn/contests/pat-a-practise/1058

#include<iostream>
#include<cstring>
#include<cstdio>
#include<string.h>
#include<cmath>
#include<algorithm>
using namespace std; struct ST
{
int a;
int b;
int c;
}; ST add(ST st1,ST st2)
{
ST res;
int add = ;
res.c = (st1.c+st2.c)%;
add =(st1.c+st2.c)/;
res.b = (st1.b+st2.b+add)%;
add = (st1.b+st2.b+add)/;
res.a = st1.a+st2.a+add;
return res;
}
ST change(string str)
{
ST st;
int index1,index2;
index1 = str.find('.');
index2 = str.find('.',index1+);
string s1,s2,s3;
s1 = str.substr(,index1);
s2 = str.substr(index1+,index2-index1-);
s3 = str.substr(index2+,str.length()-index2-);
//printf("index=%d,%d\n",index1,index2);
//printf("s1=%s,s2=%s,s3=%s\n",s1.c_str(),s2.c_str(),s3.c_str());
st.a = atoi(s1.c_str());
st.b = atoi(s2.c_str());
st.c = atoi(s3.c_str());
return st;
}
int main()
{
char cs1[],cs2[];
scanf("%s%s",cs1,cs2);
string str1(cs1),str2(cs2);
ST res = add(change(str1),change(str2));
printf("%d.%d.%d\n",res.a,res.b,res.c);
return ;
}

STL之string篇的更多相关文章

  1. Java 性能优化之 String 篇

    原文:http://www.ibm.com/developerworks/cn/java/j-lo-optmizestring/ Java 性能优化之 String 篇 String 方法用于文本分析 ...

  2. JDK源码学习--String篇(二) 关于String采用final修饰的思考

    JDK源码学习String篇中,有一处错误,String类用final[不能被改变的]修饰,而我却写成静态的,感谢CTO-淼淼的指正. 风一样的码农提出的String为何采用final的设计,阅读JD ...

  3. 通过Java字节码发现有趣的内幕之String篇(上)(转)

    原文出处: jaffa 很多时候我们在编写Java代码时,判断和猜测代码问题时主要是通过运行结果来得到答案,本博文主要是想通过Java字节码的方式来进一步求证我们已知的东西.这里没有对Java字节码知 ...

  4. redis 五大数据类型之string篇

    一: 1:string(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis ...

  5. STL的string和wstring

    STL有字符串处理类——stirng和wstring,但是用的时候会觉得不是很方便,因为它不能像TCHAR一样根据定义的宏在char类型字符串和wchar_t进行转换,总不能因为程序要Unicode就 ...

  6. C++之STL之string

    /*C 语言中字符数组一般会采用char str[]来存放,但是显得会比较麻烦,C++在stl中加入了string类型,对字符串常用的功能进行了封装,操作起来比较方便*/#include<cst ...

  7. POJ 3096 Surprising Strings(STL map string set vector)

    题目:http://poj.org/problem?id=3096 题意:给定一个字符串S,从中找出所有有两个字符组成的子串,每当组成子串的字符之间隔着n字符时,如果没有相同的子串出现,则输出 &qu ...

  8. Gengxin讲STL系列——String

    衔接上一篇引导. 作为第一篇博客,就要大气一点. 可我好像并不知道怎么才能让自己的博客大气一点= =: 明天是我生日,自己先买个中文域名庆祝了一下…… 好了,废话说完了,结果博客也没大气到哪去……,正 ...

  9. JDK源码学习--String篇(三) 存储篇

    在进一步解读String类时,先了解下内存分配和数据存储的. 数据存储 1.寄存器:最快的存储区,位于处理器的内部.由于寄存器的数量有限,所以寄存器是按需分配. 2.堆栈:位于RAM中,但是通过堆栈指 ...

随机推荐

  1. [K/3Cloud]实现双击列表行后显示具体的某个单据明细。

    列表插件重写void ListRowDoubleClick(ListRowDoubleClickArgs e)事件,在事件中处理具体逻辑,具体代码如下 public override void Lis ...

  2. 【tomcat】如何修改tomcat的默认项目

    我们知道,在Tomcat安装.配置.启动成功后在浏览器地址栏输入http://localhost:8080会访问到Tomcat的默认主页. 然后我们打开Tomcat的webapps目录时,会发现里面有 ...

  3. [bzoj1572][Usaco2009 Open]工作安排Job_贪心_堆

    工作安排 Job bzoj-1572 Usaco-2009 Open 题目大意:题目链接. 注释:略. 想法: 我们将任务按照截止时间排序,枚举任务的同时顺便记录出已经做了多少任务(当前时间). 对于 ...

  4. cisco路由器上的DHCP

    一.实验拓扑 二.具体配置 Router(config)#do sh run Building configuration...   Current configuration : 604 bytes ...

  5. SuperSwipeRefreshLayout 一个功能强大的自己定义下拉刷新组件

    SuperSwipeRefreshLayout 一个功能强大的自己定义下拉刷新组件. Why? 下拉刷新这样的控件.想必大家用的太多了,比方使用非常多的XListView等. 近期.项目中非常多列表都 ...

  6. hdu 4193 单调队列

    题意是给你n个数   组成的环   求以一个数开头 的数列全部前缀都为非负数的数列的个数: 思路:  先扩展成2*n的数列 然后求出sum[i]表示前i项的和     对每一个i>.=n结尾的数 ...

  7. 5.Swift教程翻译系列——Swift字符串和字符

    英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 字符串是一组字符的有序序列,比方"hello,china"或 ...

  8. mac 下安装Anaconda Python

    # 将anaconda的bin目录加入PATH echo 'export PATH="/Users/work/anaconda/bin/:$PATH"' >> ~/.b ...

  9. &#39;IOKING&#39; TCP Transmission Server Engine (&#39;云猴&#39;&#169;TCP通讯server引擎)(预告版)

    关键词: IOKING IOCP TCP  Transmission Server Engine Lock Free Interlocked 云猴完毕portTCP通讯server引擎 无锁 原子锁( ...

  10. linux系统下用到的小知识点积累

    preface:在ubuntu下做事情,在终端下执行一些命令.或者在vim里面做一些操作.自然而然须要用到一些小知识点,没有怎么系统地看<鸟哥的菜>,基本上是遇到了什么问题想要实现什么功能 ...