您的位置:

c语言邮箱地址,c开头的邮箱

本文目录一览:

c语言中如何哦岸段一个字符串为电子邮件地址

@前面要有文字,@后面要有文字,@后的文字后面要有点“。”,点后还得有文字,不就是这样的思路吗?如果想更好点,你可以把所有邮箱的点后的域名加入一个数组里。看哈:

char *a[10]={"163.com","139.com","hotmail.com"};

char *p=get(hostname);//得到串

char b[10];

char *d=b[10];//等会比较域名用

int i=0;

while(*p++!='@')

i++;

if(i==0){

printf("error\n");

}

while(*p!='\0')

*d++=*p++;

for(i=0;i10;i++)//不能超过数组的长度

if((strcmp(b,a[i])==0){

printf("right\n");

break;

}

程序没测试,大概就是这个意思

C语言编写邮件地址

int mail(char *s)

{

char p;

p = '@';

if(!memchr(s,p,strlen(s)))

return 0;

p = '.';

if(!memchr(s,p,strlen(s)))

return 0;

if(!strstr(s,"com")!strstr(s,"not")!strstr(s,"edu")!strstr(s,"org")!strstr(s,"mil"))

return 0;

return 1;

}

C语言编程,给定一个Email地址,判断其是否合法

#includestdio.h

#includestring.h

int FormatCheck(char *);

char * SplitByAt(char * ,int);

char * CharsCheck(char *);

#define N 1024

int main()

{

    char str[N],*field;

    memset(str,0x00,N);

    scanf("%s",str);

    field=SplitByAt(str,N);

    if(field==NULL)

    {

        printf("NO\n");

        return -1;

    }

    else if(FormatCheck(str)FormatCheck(field))

    {

        printf("YES\n");

        return 0;

    }

    else

    {

        printf("NO\n");

        return -1;

    }

}

/**

 *校验域名/邮箱格式

 */

 int FormatCheck(char *str)

 {

     char *p;

     for(;;)

     {

         p=CharsCheck(str);

         if(p==str)

         {

             return 0;

         }

         else if(*p=='\0')

         {

             return 1;

         }

         else if(*p!='.')

         {

             return 0;

         }

         p++;

         str=p;

     }

 }       

/**

 *校验是否可用@分割为两段,返回域名首地址,不合要求返回NULL

 *参数:str,源字符串,length,长度限制(防越界)

 *函数会用'\0'代替源字符串第一个'@',已完成邮箱,域名分割.

 */

char *SplitByAt(char *str,int length)

{

    char *p=strchr(str,'@');

    if(p!=NULL(p-str)length)

    {

        *p=0;

        p++;

        return p;

    }

    return NULL;

}

/**

 *校验str是否为连续的'a'-'z','A'-'Z','0'-'9'字符

 *返回值:第一个不合要求的字符所处位置

 *例如:str="abc",返回str+3; str="a#bc",返回str+1;

 */

char * CharsCheck(char *str)

{

    while((*str='a'*str='z')||

        (*str='A'*str='Z')||

        (*str='0'*str='9')||

         *str=='_')

    {

        str++;

    }

    return str;

}

要求没有提'_'符号的特殊规则, 所以"__.__@_"这样的email也是能校验过的.

c语言中,输入一个邮箱地址,将用户名分离放入字符数组

#include stdio.h

int main (void)

{

int i;

char a[100],b[100];

printf ("输入邮箱地址:");

gets(a);

for (i=0;a[i]!='\0';i++)

if (a[i]='a'a[i]='z'||a[i]='A'a[i]='Z')

b[i]=a[i];

printf ("用户名:%s\n",b);

return 0;;

}

c语言中录入邮箱信息的时候定义什么类型?

那要看你记录的信息内容。

一、单纯记录邮箱地址 ,一个字符串即可。

二、记录并验证邮箱,字符串数组,把地址里的用户名和域名分开来放,用于服务器查询。(当然用一个字符串保存,查询时再拆分也可)。

三、复合结构 ,比如注册的邮箱信息,包含账户,密码,真实姓名,电话等等。需定义结构体来保存。