Tag: 电子邮件validation

使用sscanf()格式说明符validation电子邮件地址

这可能有点像“修复我的代码”问题,但我看过文档 , 示例和几十个 相关的 问题 ,虽然我在逻辑上或多或少地了解它是如何工作的,但我有麻烦将其转换为C sscanf()格式代码。 我仍然是C的新手,我刚刚开始略微超越简单化的东西,而且我无法找出更复杂的格式说明符(即。 %[^…]等)。 无论如何,这就是我所拥有的: char user[EMAIL_LEN]; char site[EMAIL_LEN]; char domain[4]; if(sscanf(input, “%s@%s.%3s”, user, site, domain) != 3){ printf(“–ERROR: Invalid email address.–\n”); } 为什么不起作用? 我只是想获得一个简单的aaaa@bbbb.ccc格式,但由于某种原因, sscanf(input, “%s@%s.%3s”, user, site, domain)总是评估为1 。 我是否需要使用一些疯狂的%[^…]魔法才能正确转换? 我一直在搞乱%[^@]和那种事情,但我似乎无法让它发挥作用。 任何和所有的帮助表示赞赏。 谢谢!