stoi的例子
9.51 设计一类,它又三个unsigned成员,分别表示年月日。为其编写构造函数,接受一个表示日期的string参数。
程序如下:
#include<iostream>
#include<string>
using namespace std; class My_Date
{
public:
My_Date(const string &s);
unsigned year;
unsigned month;
unsigned day;
}; My_Date::My_Date(const string &s)
{
unsigned format=;
if(s.find_first_of("/")!=string::npos)
format=0x10;
if(s.find_first_of(",")!=string::npos)
format=0x01;
switch(format)
{
case 0x10:
day=stoi(s.substr(,s.find_first_of("/")));
month=stoi(s.substr(s.find_first_of("/")+,s.find_last_of("/")-s.find_first_of("/")));
year=stoi(s.substr(s.find_last_of("/")+,));
break;
case 0x01:
day=stoi(s.substr(s.find_first_of(""),s.find_first_of(",")-s.find_first_of("")));
if(s.find("Jan")<s.size()) month=;
if(s.find("Feb")<s.size()) month=;
if(s.find("Mar")<s.size()) month=;
if(s.find("Apr")<s.size()) month=;
if(s.find("May")<s.size()) month=;
if(s.find("Jun")<s.size()) month=;
if(s.find("Jul")<s.size()) month=;
if(s.find("Aug")<s.size()) month=;
if(s.find("Sep")<s.size()) month=;
if(s.find("Oct")<s.size()) month=;
if(s.find("Nov")<s.size()) month=;
if(s.find("Dec")<s.size()) month=;
year=stoi(s.substr(s.find_last_of(",")+,));
break;
}
}
int main()
{
My_Date d("99/21/1234");
cout<<d.day<<" "<<d.month<<" "<<d.year<<endl;
return ;
}
运行结果如下:

stoi的例子的更多相关文章
- C++ string的用法和例子
使用场合: string是C++标准库的一个重要的部分,主要用于字符串处理.可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作.同时C++的算法库对string也有着很好的支持,而且st ...
- [UE4]C++ string的用法和例子
使用场合: string是C++标准库的一个重要的部分,主要用于字符串处理.可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作.同时C++的算法库对string也有着很好的支持,而且st ...
- SQLServer地址搜索性能优化例子
这是一个很久以前的例子,现在在整理资料时无意发现,就拿出来再改写分享. 1.需求 1.1 基本需求: 根据输入的地址关键字,搜索出完整的地址路径,耗时要控制在几十毫秒内. 1.2 数据库地址表结构和数 ...
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...
- REGEX例子
作为REGEX的例子,代码9.3显示了一个给定的文件有多少行,具有给定的模式,通过命令行输入(注:有更有效率的方式来实现这个功能,如Unix下的grep命令,在这里只是给出了另一种方式).这个程序像下 ...
- CSharpGL(25)一个用raycast实现体渲染VolumeRender的例子
CSharpGL(25)一个用raycast实现体渲染VolumeRender的例子 本文涉及的VolumeRendering相关的C#代码是从(https://github.com/toolchai ...
- 简单例子了解View的事件分发
什么是事件分发 我们在写自定义ViewGroup或者自定义View的时候经常要处理用户的点击事件,如果我们的View在最底层,他在很多ViewGroup里面,我们如何让我们的点击事件准确传递到View ...
- 简单的例子了解自定义ViewGroup(一)
在Android中,控件可以分为ViewGroup控件与View控件.自定义View控件,我之前的文章已经说过.这次我们主要说一下自定义ViewGroup控件.ViewGroup是作为父控件可以包含多 ...
- kqueue例子
网络服务器通常都使用epoll进行异步IO处理,而开发者通常使用mac,为了方便开发,我把自己的handy库移植到了mac平台上.移植过程中,网上居然没有搜到kqueue的使用例子,让我惊讶不已.为了 ...
随机推荐
- 基于msys2工具集,自编译gcc-6.2.0、Qt-5.6.1-1和Qt-4.8.7(有nuwen.net网站提供的脚本)
好久没更新(其实大可不要经常更新吧),一直都是用Qt4,最近想着转向Qt5了,msys2是自带Qt的,但工具链经常会更新,依赖也较多,简便才方便,做了最后一组Qt工具的更新,如题,Qt-4.8.7作为 ...
- libvlc 双击,鼠标事件消息响应
基于vlc 2.1 动态库实现接收双击消息的接收,使双击vlc播放画面可以全屏显示. 需要其他版本的vlc可以与我联系(有偿进行修改) 下载地址:http://download.csdn.net/de ...
- Sublime Text 插件 autoprefixer
Sublime Text 早就有插件(Sublime Prefixr)使用 prefixr 的 API 来自动完成 CSS 前缀,但是 autoprefixer 更牛,这款可使用 Can I Use ...
- BZOJ_1221_ [HNOI2001]_软件开发(最小费用流,网络流24题#10)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1221 n天,每天需要r个毛巾,用完以后可以洗,要么花fa洗a天,要么花fb洗b天,毛巾不够了可 ...
- apache开源项目--gora
Gora 是一个应用于 NoSQL 数据库的 ORM 框架,支持包括:Apache HBase/Apache Cassandra
- JAX-RS -- Java API for RESTful Web Services
Java EE 6 引入了对 JSR-311 的支持.JSR-311(JAX-RS:Java API for RESTful Web Services)旨在定义一个统一的规范,使得 Java 程序员可 ...
- lihgtoj 1006
记忆化搜索下即可. #include<cstdio> #include<string> #include<cstring> #include<iostream ...
- Linux查看系统性能命令
性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介绍. ———————————————————————————————————— ...
- linux | mac 设置远程主机别名
管理几台不同的服务器,要上线,发布,测试, 每次输入 ip 感觉好傻. 在 ~/.ssh/ 目录下如果有config 文件,修改一下就好,如果没有,创建一个. # vim ~/.ssh/config ...
- Android SDK 离线安装方法
有朋友反映从连接直接下载安装包不能获取到最新版本(每次更新后的包地址需要重新去查找),而且经常无法访问. 最方便的方法是使用代理或vpn接入网络,即可及时下载最新版sdk. 作为一名开发人员,流畅地浏 ...