STL之string篇
常用代码整理:
#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篇的更多相关文章
- Java 性能优化之 String 篇
原文:http://www.ibm.com/developerworks/cn/java/j-lo-optmizestring/ Java 性能优化之 String 篇 String 方法用于文本分析 ...
- JDK源码学习--String篇(二) 关于String采用final修饰的思考
JDK源码学习String篇中,有一处错误,String类用final[不能被改变的]修饰,而我却写成静态的,感谢CTO-淼淼的指正. 风一样的码农提出的String为何采用final的设计,阅读JD ...
- 通过Java字节码发现有趣的内幕之String篇(上)(转)
原文出处: jaffa 很多时候我们在编写Java代码时,判断和猜测代码问题时主要是通过运行结果来得到答案,本博文主要是想通过Java字节码的方式来进一步求证我们已知的东西.这里没有对Java字节码知 ...
- redis 五大数据类型之string篇
一: 1:string(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis ...
- STL的string和wstring
STL有字符串处理类——stirng和wstring,但是用的时候会觉得不是很方便,因为它不能像TCHAR一样根据定义的宏在char类型字符串和wchar_t进行转换,总不能因为程序要Unicode就 ...
- C++之STL之string
/*C 语言中字符数组一般会采用char str[]来存放,但是显得会比较麻烦,C++在stl中加入了string类型,对字符串常用的功能进行了封装,操作起来比较方便*/#include<cst ...
- POJ 3096 Surprising Strings(STL map string set vector)
题目:http://poj.org/problem?id=3096 题意:给定一个字符串S,从中找出所有有两个字符组成的子串,每当组成子串的字符之间隔着n字符时,如果没有相同的子串出现,则输出 &qu ...
- Gengxin讲STL系列——String
衔接上一篇引导. 作为第一篇博客,就要大气一点. 可我好像并不知道怎么才能让自己的博客大气一点= =: 明天是我生日,自己先买个中文域名庆祝了一下…… 好了,废话说完了,结果博客也没大气到哪去……,正 ...
- JDK源码学习--String篇(三) 存储篇
在进一步解读String类时,先了解下内存分配和数据存储的. 数据存储 1.寄存器:最快的存储区,位于处理器的内部.由于寄存器的数量有限,所以寄存器是按需分配. 2.堆栈:位于RAM中,但是通过堆栈指 ...
随机推荐
- [POJ3162]Walking Race(DP + 单调队列)
传送门 题意:一棵n个节点的树.wc爱跑步,跑n天,第i天从第i个节点开始跑步,每次跑到距第i个节点最远的那个节点(产生了n个距离),现在要在这n个距离里取连续的若干天,使得这些天里最大距离和最小距离 ...
- 仪仗队(codevs 2296)
题目描述 Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来 ...
- java查询MySQL时,MySQL中tinyint长度为1时转换为boolean
看到别人代码,MySQL数据库中,有下面这个字段,tinyint(1) 这时候java代码中取出来的数据类型就是boolean类型,如果长度 > 1的话,就会变成int类型,特意查了一下,这里参 ...
- [codevs 1183][泥泞的道路(二分+spfa)
题目:http://dev.codevs.cn/problem/1183/ 分析:这个和最优比率生成树很像,都可以二分答案的,只不过判定方面一个是求是否有最短路径,一个是求是否有生成树.假设等待判定的 ...
- Android: ADB not responding. You can wait more, or kill “adb.exe”
Windows Only: Open a command prompt with administration permission and type netsh interface tcp set ...
- BP神经网络及其在教学质量评价中 的应用
本文学习笔记是自己的理解,如有错误的地方,请大家指正批评.共同进步.谢谢! 之前的教学质量评价,仅仅是通过对教学指标的简单处理.如求平均值或人为的给出各指标的权值来加权求和,其评价结果带有非常大主观性 ...
- postgresql 创建函数
One of the most powerful features of PostgreSQL is its support for user-defined functions written in ...
- 编程规范(一 之kmalloc,fflush,fclose,char_init)
1. kmalloc函数接口: 在我们使用的时候常常使用该接口,可是我们非常少注意过这个接口的一些比較重要的 内核接口.比如: /*申请一个HASH表的大小*/ #define HASH_MALLOC ...
- Windows 由于无法验证发布者,windows阻止控件安装怎么办
1 打开Internet选项 2 下载未签名的ACTIVEX控件-设为启动
- 深入struts2(二) ---stuts2长处和主要包、类功能
1.1 Struts2 上节已讲.struts2在webwork基础发展起来的mvc框架.MVC框架相信一般码农都比較了解,这里不再重说. 在这里只对于一下struts1,struts2做了哪 ...