免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1885 | 回复: 7
打印 上一主题 下一主题

江湖告急,mktime的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-29 11:40 |只看该作者 |倒序浏览
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <time.h>

void str_to_local_t(char* str_date);

int main(int argc, char** argv)
{
        char* str="2007-1-1";
        str_to_local_t(str);
        return 0;
}

void str_to_local_t(char* str_date)
{
        char* str;
        struct tm tm_date;
        time_t t_date;
        str = strtok(str_date, "-");
        if(str)
        {
                tm_date.tm_year = atoi(str);
        }
        str = strtok(NULL, "-");
        if(str)
        {
                tm_date.tm_mon = atoi(str) - 1;
        }
        str = strtok(NULL, "-");
        if(str)
        {
                tm_date.tm_mday = atoi(str);
        }
        tm_date.tm_hour=0;
        tm_date.tm_min=0;
        tm_date.tm_sec=1;
        tm_date.tm_isdst=0;
        printf("%d-%d-%d\n",tm_date.tm_year, tm_date.tm_mon, tm_date.tm_mday);

        t_date = mktime(&tm_date);
        printf("%d\n", t_date);
}

编译过后,输入为-1;
那位大侠帮帮我。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-05-29 11:58 |只看该作者
tm_date.tm_year = atoi(str) - 1900;
注意看man手册。

论坛徽章:
0
3 [报告]
发表于 2007-05-29 12:16 |只看该作者
^_^!,谢谢

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
4 [报告]
发表于 2007-05-29 12:16 |只看该作者
原帖由 akei48 于 2007-5-29 11:40 发表
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <time.h>

void str_to_local_t(char* str_date);

int main(int argc, char ...

这段代码执行的时候很可能 core dump.

论坛徽章:
0
5 [报告]
发表于 2007-05-29 14:49 |只看该作者
谢谢楼上的各位大侠。
我已经编译成功了,但是现在有一个问题。编译的时候出现这样的提示:
/usr/ccs/bin/ld: (Warning) At least one PA 2.0 object file (basefun.o) was detected. The linked output may not run on a PA 1.x system.
机器是HP-UNIX。那位搞hp的大侠能告诉俺一下呢?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2007-05-29 14:54 |只看该作者

make clean
make

论坛徽章:
0
7 [报告]
发表于 2007-05-29 15:13 |只看该作者
不是啦,在整个目录底下,只有basefun.c这一个文件。而且也没有生成什么basefun.o文件。无论我把文件名改成什么,都报这个东西。好像跟HP的设置有关。

论坛徽章:
0
8 [报告]
发表于 2007-05-29 17:29 |只看该作者
原帖由 akei48 于 2007-5-29 15:13 发表
不是啦,在整个目录底下,只有basefun.c这一个文件。而且也没有生成什么basefun.o文件。无论我把文件名改成什么,都报这个东西。好像跟HP的设置有关。

是不是交叉编译?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP