本文目錄一覽:
- 1、c語言中如何哦岸段一個字符串為電子郵件地址
- 2、C語言編寫郵件地址
- 3、C語言編程,給定一個Email地址,判斷其是否合法
- 4、c語言中,輸入一個郵箱地址,將用戶名分離放入字符數組
- 5、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語言中錄入郵箱信息的時候定義什麼類型?
那要看你記錄的信息內容。
一、單純記錄郵箱地址 ,一個字符串即可。
二、記錄並驗證郵箱,字符串數組,把地址里的用戶名和域名分開來放,用於服務器查詢。(當然用一個字符串保存,查詢時再拆分也可)。
三、複合結構 ,比如註冊的郵箱信息,包含賬戶,密碼,真實姓名,電話等等。需定義結構體來保存。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/160644.html