这可能是一个有点“修复-我的代码”的问题,但我看文档 , 示例 ,和几十个 , 中 , 相关的 , 问题 ,虽然我理解逻辑或多或少它是如何工作,我有麻烦将其转化为一个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
。 我是否需要使用一些疯狂%[^...]
魔术为它正确转换? 我一直在搞乱%[^@]
和之类的话,但我似乎无法使它工作。
任何和所有帮助表示赞赏。 谢谢!