输入日期mm / dd / yy不使用scanf功能?

时间:2018-04-05 10:16:26

标签: date get scanf

正如我所读到的,使用scanf会导致问题,所以我想避免在实践中使用它。我怎样才能以mm / dd / yy格式从用户那里获取输入(这是一种很好的做法)?

最好不要太多步骤。

1 个答案:

答案 0 :(得分:0)

您可以使用strptime()函数,如果您首先将字符串表示读入str,则可以使用:

struct tm tm;
strptime(str, "%m/%d/%Y", &tm);

它转换为您的日期如下:

date.year = tm.tm_year;
date.month = tm.tm_mon;
date.day = tm.tm_mday;