c - 如何使用 scanf - C 从日期中读取斜杠 (/)

标签 c

我目前得到的是:

scanf("%d%d%d",&day1,&mon1,&year1);

当我传入一个日期时,这很好用:

02-02-2016

但是,如果我用斜杠而不是破折号传递它,我希望它也可以:

02/02/2016

我试过这种方式:

scanf("%d/%d/%d",&day1,&mon1,&year1);

现在这将接受斜杠 (/) 但不支持破折号 (-)

它如何接受两者???

我该怎么做?我是这种语言的新手,所以一些建议会很棒。提前致谢

最佳答案

您可以使用像这样的格式字符串:"%d%*[-/]%d%*[-/]%d" 只接受数字之间的破折号或斜杠,但抛出离开那里的任何角色。 (这超出了我的 scanf 知识范围;我认为我从未真正使用过此功能。)

关于c - 如何使用 scanf - C 从日期中读取斜杠 (/),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43033168/

相关文章:

c - D-Bus 是否保证消息传递?

objective-c - 如何在 Objective-C 类中初始化常量成员 C 数组?

c - 添加逻辑运算的结果是否定义了行为

c - 在执行期间出现段错误

c - 一种在不知道签名的情况下包装 C 函数调用的方法?

c++ - 为什么 C 在代码执行方面比 C++ 快?

将命令行 arg 转换为 double 无法通过 C 中的逻辑检查

c++ - 无法在 VS Code 2015 中调试或运行文件

c++ - LAPACK/BLAS 与简单的 "for"循环

检查是否可以通过连接较小的字符串来制作字符串