• 締切済み

日付の入力チェック

お疲れ様です。 c++の日付の入力型のチェックを行いたいです。 具体的には文字が入力されて その型が(yyyy/mm/dd)の型で存在するかをチェックします。 数字だけの入力なら標準クラスにありそうなのですが「/」を含みチェックは行えないのでしょうか? また標準クラスにあるのならば「try~catch」を使用してエラーを受け取れる方法があったら教えてください。 お願いします。

みんなの回答

  • abayama
  • ベストアンサー率48% (38/79)
回答No.2

strptimeでできます。チェックは戻り値を見ればできます。 ただしWindowsでは使えません。

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/strptime.3.html
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ぱっと思い付くのは「sscanf で切り分けてから細かく調べる」かなぁ. こんな感じ: if (sscanf(date, "%4d/%2d/%2d", &y, &m, &d) != 3) { 正しくない } else { y, m, d が正しいかどうかをチェックする }

関連するQ&A