Я пытался решить простой алгоритм, который в основном проверяет данное письмо.Так что, если есть «.»или '+' в локальном имени, тогда все должно быть в порядке, и если оно имеет '.'или '+' в доменном имени (иначе после '@'), это недействительно.
Теперь я знаю, что мой метод не эффективен, это далеко не так.Но я просто хочу решить проблему на этом этапе.По какой-то причине, когда у меня есть следующий код, символы в моем newArr печатаются:
#include <stdio.h>
#include <string.h>
int main() {
char email[30] = "DanGitson@gmail.com";
char newArr[30];
int at = 0;
for (int i = 0; i < 30; i++) {
// get the characters after '@'
if (at == 1) {
newArr[i] = email[i];
printf("%c", newArr[i]);
}
// if email[i] is equal to '@'
if(email[i] == 64){
at = 1;
}
}
}
Но когда у меня есть следующий код, это не так:
#include <stdio.h>
#include <string.h>
int main() {
char email[30] = "DanGitson@gmail.com";
char newArr[30];
int at = 0;
for (int i = 0; i < 30; i++) {
// get the characters after '@'
if (at == 1) {
newArr[i] = email[i];
}
// if email[i] is equal to '@'
if(email[i] == 64){
at = 1;
}
}
for (int j = 0; j < 30; j++) {
printf("%c", newArr[j]);
}
}
В основномМой подход заключается в добавлении всех символов, следующих за символом «@».Другими словами, получите домен и проверьте, есть ли больше 2 '. И есть ли' + ', чтобы я мог проверить, является ли электронная почта действительной или нет.Кроме того, если у вас есть какие-либо предложения или отзывы о моем методе, я был бы признателен.
Спасибо, что прочитали это до сих пор, я жду ваших ответов!