c - 如何格式化数组并使用户的输入符合数组格式
问题描述
是否可以创建一个程序来接受用户的输入并根据格式化的数组检查它,然后确保用户的输入符合这种格式。
char password[8]
password[0] = 'A, B, C , D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z'
password[1] = '!, ", £, $, %,^, &, *,(, )'
password[2] = '!, ", £, $, %,^, &, *,(, )'
password[3] = '1,2,3,4,5,6,7,8,9,0'
password[4] = '1,2,3,4,5,6,7,8,9,0'
password[5] = '1,2,3,4,5,6,7,8,9,0'
password[6] = 'a, b, c , d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z'
password[7] = 'a, b, c , d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z'
在我的代码中,我试图获取用户的输入并将其放入此字符数组中,并确保用户的输入只有 8 个字符长,而输入的每个字符都必须是这些指定字符之一,例如第一个字符输入必须是大写的 AZ。
抱歉,如果这是超级错误或没有意义我是编程新手
解决方案
超级欢迎加入堆栈溢出社区。
所以我从你的问题中收集到的是你想在这种情况下验证通过控制台提供的输入。
是的,你可以这样做。没有固定的方法可以做到这一点,您可能希望在需要时混合使用不同的方法。
让我们看看您在问题中提到的两个案例
- I/P 长度验证
- I/P 以大写字母开头
两者都可以使用正则表达式(简称 regex)进行验证。
您可以查看正则表达式以及如何在 C 中的堆栈溢出 ans中使用它。
满足这两种情况的有效正则表达式可以是^[A-Z].{7}$
,它强制第一个字母以长度为 1 的大写字母中的任何一个开头,然后是长度为 7 的任何字符。因此字符串的总长度为 8。
推荐阅读
- javascript - 不断收到参考错误:将外部 Javascript 文件链接到 HTML 文件时未定义文档
- android - NavigationView 菜单不更新
- vector - Rust - 尝试从向量中删除结构元素时出错
- ruby-on-rails - 如何在 React 中以 json 格式发送表单数据?
- python - 在 VGG16 模型中使用灰度图像时出现“输入不兼容错误”
- r - 为给定的数值向量分配一个具有超过 2 个级别/标签的因子向量
- c# - 如何按最小数字对二维数组进行排序?
- ruby - 我们可以在 ruby 文件的注释中添加特殊字符吗?
- javascript - 为网站上的每个 HTML 文件添加文本的代码
- rsyslog - Rsyslog Regex 和 DynaFile 模板