转换和验证字符串
Convert and validate string
我需要花费时间作为用户输入以hh:mm的形式进行验证。在某些格式中,它必须是适当的时间。关于如何做的好主意?
我正在尝试制作一个可以通过字符串迭代,验证每个字符的函数,然后将它们转换为数字(或某种时间戳),以便我可以将几个字符串与彼此进行比较。
我只使用std名称空间。
使用boost :: Regex匹配字符串及其零件(HH)和(mm),然后使用SCANF获取小时和分钟。
听起来更像是一个算法问题,我会:
1,如果是5。
2,检查':'是否在中间。
3,检查HH在范围内。
4,检查MM在范围内。
5,将其转换为将为您带来便利的格式。
这对于这个特定问题可能过于谋杀,但是这种任务非常适合状态机器。基本上,您需要一次读取输入一个字符,每个字符都可以更改机器的状态,直到最终以成功或错误状态为止。例如:
- 第一个字符
- 如果不是数字,请更改为错误状态
- 否则商店的价值并更改为状态2
- 第二个字符
- 如果不是数字,请更改为错误状态
- 否则将存储的值乘以10并添加第二个字符。如果结果超出范围,请更改为错误状态。否则,更改为状态3
- 第三个字符
- 如果
:
,请更改为状态4,否则更改为错误状态
- 如果
- 第四个角色
- 类似于第一个字符,成功后变为状态5。
- 第五个字符
- 类似于第二个字符,成功后变为状态6。
- 成功状态
- 赢家是Yu!
- 错误状态
- 处理错误,du。
相关文章:
- 输入验证以筛选出字符、字符串和一系列整数
- 如何编写将验证以下字符串的正则表达式?
- 如何正确实现 std::all_of 函数来验证字符串的一部分?
- 获取线函数未定义错误。无法在字符串中保存可验证的内容
- 如何对字符串变量应用验证,使其仅接受来自用户的字母数据?
- C 未验证字符串输入
- 如何验证用户将字符串输入到std :: cin中
- 在C++测试家庭作业问题中的字符串输入时无法退出循环(作为数据验证)
- 如何使用数组字符串进行输入验证
- 如何使用 msgfmt 验证格式字符串中的位置表示法占位符
- C 验证字符串2中是否存在字符串1
- 转换和验证字符串
- 字符串验证函数出错
- 验证字符串中是否存在无效字符
- 验证C 中的两个字符串是否相等
- 输入验证,需要数字,而不是字符串.代码导致无限循环
- std::vector中的字符串验证
- if字符串验证循环出现问题
- 我如何让字符串验证仅命中的 ENTER 键
- 没有外部库的c++输入字符串验证