常用代码整理:

  

#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. 【HDOJ3068】最长回文(manacher)

    题意:求一个由小写字母组成的字符串中的最长回文长度 cas<=120 n<=110000 思路:试manacher板子 ..]of char; p:..]of longint; ch:an ...

  2. 洛谷—— P2658 汽车拉力比赛

    https://www.luogu.org/problem/show?pid=2658 题目描述 博艾市将要举行一场汽车拉力比赛. 赛场凹凸不平,所以被描述为M*N的网格来表示海拔高度(1≤ M,N ...

  3. Ubuntu中PPA源是什么

    以下内容转自https://imcn.me/ppa: PPA是Personal Package Archives首字母简写.翻译为中文意思是:个人软件包文档 只有Ubuntu用户可以用,而所有的PPA ...

  4. ci get_instance()

    你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用 ...

  5. linux 卸载php mysql apache

    卸载Mysql 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql 可以看到mysql的包: mysql-3.23.58-9php-mysql-4.3.4-11mod_a ...

  6. 辛星浅谈mysql中的数据碎片以及引擎为MyISAM下的操作

    对于mysql中的数据碎片,事实上和我们删除数据是息息相关的,删除数据的时候必定会在数据文件里造成不连续的空白空间,对于少量的数据的删除,并不会产生多少的空白空间.假设在一段时间内的大量的删除操作,会 ...

  7. cojs 1175. [顾研NOIP] 旅游电车

    1175. [顾研NOIP] 旅游电车 ★★☆   输入文件:buss.in   输出文件:buss.out   简单对比时间限制:1 s   内存限制:256 MB [问题描述] Henryy国正致 ...

  8. sql_server_action

    ''' SELECT * FROM Info_Roles WHERE Flag=1 LIMIT 2; select top y * from 表 where 主键 not in(select top ...

  9. 通过adb push 从电脑里复制文件到手机里

    在开发中.我们 常常 须要 从 电脑 拷贝 一些 文件 到  自己的 app 目录里. 我之前的 方式 是 将 手机 链接 电脑,然后 从 电脑里 找到 app 文件夹,然后 进行 拷贝. 可是 这种 ...

  10. C++中switch 语句中的变量声明和

    switch 内部的变量定义: ; switch(i) { : string str; //error ; //error int val2; //right ; //right : val2 = ; ...