| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 337 人关注过本帖
标题:输入字符串,提出时间
只看楼主 加入收藏
edenpan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-29
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:4 
输入字符串,提出时间
输入为 1992年2月15日这样的格式,要求可以提取出year = 1992, month = 2, day = 15(int)这样的结果,不知道有什么好的方法没有??
我只想到了一位一位的判断,不知道还有没有简单的方法,呵呵,忘可以告知。
搜索更多相关主题的帖子: 时间 字符串 
2013-03-02 11:19
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:2 
scanf("%d年%d月%d日",&year,&month,&day) == 3
2013-03-02 12:05
好聚好散
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:138
专家分:123
注 册:2012-12-4
收藏
得分:2 
次奥,那是C好不好,

无节操,无真相
2013-03-02 17:55
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:2 
以下是引用rjsp在2013-3-2 12:05:04的发言:

scanf("%d年%d月%d日",&year,&month,&day) == 3
这个是你输入的时候为暗示,但是输入达不到1992年3月15日这样的效果,你可以试下库函数中的atoi():将字符串转换为整型值。

Maybe
2013-03-04 00:34
edenpan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-29
收藏
得分:0 
回复 4楼 邓士林
对于整个的字符串用atoi估计不行吧。我只能想到就是一个字节一个字节的判断,如果不是数字的话再转到存储下一个日期的状态,额 不知道这样说对不对。
唔 但是觉得一个字节,一个字节的判断太繁琐了。想看下有没有好的写法???
程序代码:
for(int j= 0; j < 4; j++)
        year[j] = buf[j];
    itsyear = (year[0]-'0') *1000 + (year[1]-'0')*100+(year[2]-'0')*10+(year[3]-'0');
    if(buf[7] <= '9' && buf[7] >= '0')
    {
        month[0] = buf[6];
        month[1] = buf[7];
        ismonth = 1;
    }
    else
    {
        month[0] = '0';
        month[1] = buf[6];
        ismonth = 0;
    }
    itsmonth = (month[0]-'0')*10 + (month[1]-'0');
    cout<<" month"<<itsmonth<<endl;
    if(buf[i-4]<='9'&&buf[i-4]>='0')
    {
        day[0] = buf[i-4];
        day[1] = buf[i-3];//cout<<"thisi";
    }
    else
    {
        day[0] = '0';
        day[1] = buf[i-3];//cout<<"thisi~!!!";
    }
    itsday = (day[0]-'0')*10+(day[1]-'0');

我就是觉得这一段实在是太繁琐了,想问下 有没有简便的方法??(我只想到状态机的改变,不知道对不对。。。)
呵呵
2013-03-04 23:09
快速回复:输入字符串,提出时间
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049163 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved