getDat(char *val)获得某一天是这一年中的第几天

获得某一天是这一年中的第几天
如:
./g 20117/2/1
32

#include <time.h>
#include <string.h>
#include <stdio.h>

const char SPLIT1[2]="-";
const char SPLIT2[2]="/";
const char SPLIT3[2]=" ";

int getDay(char * val);

int main(int argc,char *argv[])
{
getDay(argv[1]);

return 0;
}

int getDay(char *val)
{
char *inDate[3];
struct tm setInfo;
time_t tmpInfo;

int i=0;
inDate[i]=strtok(val,SPLIT2);
while(++i<3)
{
inDate[i]=strtok(NULL,SPLIT2);
}

setInfo.tm_year=atoi(inDate[0])-1900;
setInfo.tm_mon=atoi(inDate[1])-1;
setInfo.tm_mday=atoi(inDate[2]);
setInfo.tm_hour=0;
setInfo.tm_min=0;
setInfo.tm_sec=0;
setInfo.tm_isdst=-1;

tmpInfo=mktime(&setInfo);
printf("%d\n",setInfo.tm_yday+1);

return (setInfo.tm_yday+1);
}

时间: 2025-01-15 02:09:36

getDat(char *val)获得某一天是这一年中的第几天的相关文章

char[1] or char*

最近看一下php7源码 其中有个string的struct struct _zend_string {         zend_refcounted_h gc;         zend_ulong        h;                /* hash value */         size_t            len;         char              val[1]; }; 一直想不通为什么char数组而且是一个呢,为什么不是char* 然后我就做一个

【练习】判断类中是否包含一个受保护的静态整形常量val

下面的代码在老的编译器上不work,我用gcc 4.8.2编译没问题 template <typename T> class is_class {     typedef char YES;     typedef int NO;     template <typename U> static YES matcher(void (U::*)(void));     template <typename> static NO matcher(...); public:

7.哈希

哈希(Hash)又称散列,它是一个很常见的算法.在Java的HashMap数据结构中主要就利用了哈希.哈希算法包括了哈希函数和哈希表两部分.我们数组的特性可以知道,可以通过下标快速(O(1))的定位元素,同理在哈希表中我们可以通过键(哈希值)快速的定位某个值,这个哈希值的计算就是通过哈希函数(hash(key) = address )计算得出的.通过哈希值即能定位元素[address] = value,原理同数组类似. 最好的哈希函数当然是每个key值都能计算出唯一的哈希值,但往往可能存在不同的

6-探秘Java中的String、StringBuilder以及StringBuffer

相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景.下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String.StringBuffer.StringBuilder 三.不同场景下三个类的性能测试 四.常见的关于String.StringBuffer的面试题(辟谣网上流传的一些曲解String类

I2C总线介绍及AT24C02驱动编写 笔记

中断处理程序 { 清除中断 硬件自动清除 软件清除 } CPU芯片手册相关章节 -------- I2C CPU外接设备的方式 1)GPIO简洁的方式(按键,LED) 通过设置GPIO管脚的状态来完成通信(控制) gpccon gpcpud gpcdat 2)类似于内存的接口 (DDRAM norflash nand dm9000) 从硬件上看CPU和芯片 数据线 地址先  BANK 3)协议类接口 uart I2C AT24C02    EEPROM 3,如何解决CPU和设备通信的问题 I2C

String stringbuffer StringBuilder

最近指导几位新人,学习了一下String,StringBuffer和StringBuilder类,从反馈的结果来看,总体感觉学习的深度不够,没有读出东西.其实,JDK的源码是越读越有味的.下面总结一下我读这些源码的收获吧.注意:虽然源码的版本是JDK6,但是个人觉得学习这个版本的源码对于理解数据结构非常有帮助,因为String就是一个数据结构,它是char []的封装,实现了很多对char []的操作 第一部分:String源码解析 (1)String实现了CharSequence接口,这个接口

Java源代码学习 -- java.lang.String

java.lang.String是使用频率非常高的类.要想更好的使用java.lang.String类,了解其源代码实现是非常有必要的.由java.lang.String,自然联想到java.lang.StringBuffer和java.lang.StringBuilder,下篇文章再来研究java.lang.StringBuffer和java.lang.StringBuilder. 重要属性 java.lang.String对象中字符串主要是以字符数组的形式存储.当调用对象方法获取字符串长度时

推荐一个优秀的c++源代码,TinyXml2

项目主页:http://grinninglizard.com/tinyxml2docs/index.html tinyxml2.h /* Original code by Lee Thomason (www.grinninglizard.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for an

Cocos数据篇[3.4](3) ——XML数据操作

[唠叨] XML 即 可扩展标记语言,在游戏开发中,常用于保存游戏数据信息,如最高分.游戏等级等信息,和描述一些资源等. 加载动画的plist文件.瓦片地图编辑器到处的地图格式tmx文件,实际上都是特定格式的xml文件. 另外 UserDefault 单例类保存的数据,也是存储在xml文件中的. Cocos2d-x 已经加入了 tinyxml2库 用于xml的解析.3.x版本位于external/tinyxml2下. 本节要介绍的就是:如何使用 tinyxml2库 来操作处理xml文件. [参考