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