我需要花时间作为用户输入,形式为HH:MM,然后验证它。 它需要是某种格式的适当时间。关于如何做到这一点的任何好主意?
我正在尝试创建一个迭代字符串的函数,验证每个字符,然后将它们转换为数字(或某种时间戳),这样我就可以将几个字符串相互比较。
我只使用std命名空间。
答案 0 :(得分:2)
使用boost :: regex匹配字符串及其部分(HH)和(MM),并使用scanf获取小时和分钟。
答案 1 :(得分:2)
这听起来更像算法问题,我会:
1,检查字符串的长度是否为5 2,检查':'是否在中间 3,检查HH是否在范围内 4,检查MM是否在范围内 5,将其转换为为您带来便利的格式。
答案 2 :(得分:1)
这个特殊问题可能有点过头了,但这种任务非常适合状态机。基本上,您需要一次读取输入的一个字符,并且每个字符都可以更改机器的状态,直到您最终处于成功或错误状态。例如:
:
,请更改为状态4,否则更改为错误状态