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的使用例子,让我惊讶不已.为了 ...
随机推荐
- Java多态的体现之继承
/** * * 功能:演示多态 */ package com.litao; public class Demo5 { public static void main(String[] args) { ...
- SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-004-使用AspectJ’s pointcut expression language定义Pointcut
一. 1.在Spring中,pointcut是通过AspectJ’s pointcut expression language来定义的,但spring只支持它的一部分,如果超出范围就会报Illegal ...
- Android 性能优化之使用MAT分析内存泄露问题
我们平常在开发Android应用程序的时候,稍有不慎就有可能产生OOM,虽然JAVA有垃圾回收机,但也不能杜绝内存泄露,内存溢出等问题,随着科技的进步,移动设备的内存也越来越大了,但由于Android ...
- leetcode面试准备:Implement Trie (Prefix Tree)
leetcode面试准备:Implement Trie (Prefix Tree) 1 题目 Implement a trie withinsert, search, and startsWith m ...
- Android-加载透明PNG图片变黑的问题
png和jpg作为两种最常用的图片格式,首先我们要知道他们的区别: 1.从一般图片的外观上来说,他们是无法直接判断的 2.从文件大小上来说,同样一张图png肯定比jpg的大 3.通过查资料咱们可以发现 ...
- tshark 使用说明
yum install -y wireshark 最近才发现,原来wireshark也提供有Linux命令行工具-tshark.tshark不仅有抓包的功能,还带了解析各种协议的能力.下面我们以两个实 ...
- 函数 flst_get_first
/********************************************************************//** Gets list first node addre ...
- 【转】JNI学习积累之一 ---- 常用函数大全
原文网址:http://blog.csdn.net/qinjuning/article/details/7595104 本文原创,转载请注明出处:http://blog.csdn.net/qinjun ...
- 关于SharePoint 2010体系架构的几个话题
转:http://www.cnblogs.com/chenxizhang/archive/2011/12/18/2291658.html?ADUIN=85650109&ADSESSION=13 ...
- HDU5647 DZY Loves Connecting 树形DP
(先奉上jcvb大神的官方题解)BC 76 div 1 1002 对于每个结点i,统计出f[i]表示包含i的连通集有多少个,那么容易看出答案就是所有f[i]的和. 要计算f[i]是经典的树形DP问题. ...