多条件输入模型

来源:互联网 发布:java开源电子商城系统 编辑:程序博客网 时间:2024/06/11 17:46

概述:当我们有几种不同的输入格式,但是我们使用同一个输入函数

这个问题可以扩大化,比如,我们可能有多个输入条件,我们应该如何处理?这两个问题,我们可以采用同样的模型。下面举个例子:

比如:我们输入 mm/dd/yy 和 yy-mm-dd 这两种格式的日期,我们如何处理输入?

代码是在CENTOS6.8上运行的,对于WIN来说,可能没有getline函数,需要自行实现

/*************************************************************************    > File Name: main.c    > Author: mhsheng    > Mail:981065720@qq.com     > Created Time: Mon 14 Nov 2016 03:14:04 PM CST ************************************************************************/#include <stdio.h>#include <stdlib.h>#include <stdarg.h>intmain(int argc, char **argv) {    char    *buf        = NULL;    size_t  buf_len     = 0;    size_t  line_len    = 0;    int     yy          = 0;    int     mm          = 0;    int     dd          = 0;    if (getline(&buf, &buf_len, stdin) > 0) {        if (sscanf(buf, "%d/%d/%d", &mm, &dd, &yy) == 3) {            printf("%d-%d-%d\n", yy, mm, dd);        } else if (sscanf(buf, "%d-%d-%d", &yy, &mm, &dd) == 3) {            printf("%d-%d-%d\n", yy, mm, dd);        } else {            printf("formate error\n");        }    }    free(buf);    exit(0);}
0 0
原创粉丝点击