isalnum,isalpha,isdigit.....isxdigit,ispunt等字符函数的检测程序

 

   Linux C练习,前面12个字符检测函数,合成一个检测函数

#include<stdio.h>
#include<pthread.h>
#include<ctype.h>
#include<string.h>

//1
void* alnum(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=isalnum(pbuff[i]))==0)
  {
   printf("%c is not a alnum!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a alnum!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}

//2//

void* alpha(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!=0;i++)
{
  if((ret=isalpha(pbuff[i]))==0)
  {
   printf("%c is not a alpha!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a alpha!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}

//3///
void* ascii(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!=0;i++)
{
  if((ret=isascii(pbuff[i]))==0)
  {
   printf("%c is not a ascii!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a ascii!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}

//4/

void* cntrl(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=iscntrl(pbuff[i]))==0)
  {
   printf("%c is not a cntrl!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a cntrl!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}
//5

void* digit(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=isdigit(pbuff[i]))==0)
  {
   printf("%c is not a digit!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a digit!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}
//6/

void* graph(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=isgraph(pbuff[i]))==0)
  {
   printf("%c is not a graph!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a graph!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}


//7

void* lower(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=islower(pbuff[i]))==0)
  {
   printf("%c is not a lower!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a lower!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}


//8///

void* print(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=isprint(pbuff[i]))==0)
  {
   printf("%c is not a print!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a print!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}


//9


void* space(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=isspace(pbuff[i]))==0)
  {
   printf("%c is not a space!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a space!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}

//10/


void* punct(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=ispunct(pbuff[i]))==0)
  {
   printf("%c is not a punct!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a punct!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}

//11///


void* upper(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=isupper(pbuff[i]))==0)
  {
   printf("%c is not a upper!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a upper!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}

//12//


void* xdigit(char* pbuff)
{
int ret;
int i;
for(i=0;pbuff[i]!='\0';i++)
{
  if((ret=isdigit(pbuff[i]))==0)
  {
   printf("%c is not a xdigit!\n",pbuff[i]);
  }
  else
  {
   printf("%c is a xdigit!\n",pbuff[i]);
  }
}
printf("\n");
pthread_exit(NULL);
}

///
int main()
{
pthread_t tpid;
int flag=0;
int ret;
char buff[100];

printf("1.isalnum\n");
printf("2.isalpha\n");
printf("3.isascii\n");
printf("4.iscntrl\n");
printf("5.isdigit\n");
printf("6.isgraph\n");
printf("7.islower\n");
printf("8.isprint\n");
printf("9.isspace\n");
printf("10.ispunct\n");
printf("11.isupper\n");
printf("12.isxdigit\n");
printf("13,quit!\n");
printf("\n");

for(;;)
{
printf("Please select function:\n");
scanf("%d",&flag);
sleep(2);

//1

if(flag==1)
{
  printf("Test alnum,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)alnum,buff))!=0)
  {
   printf("pthread_create alnum error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}
      
//2///
if(flag==2)
{
  printf("Test alpha,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)alpha,buff))!=0)
  {
   printf("pthread_create alpha error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}

//3//
if(flag==3)
{
  printf("Test ascii,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)ascii,buff))!=0)
  {
   printf("pthread_create ascii error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//4


if(flag==4)
{
  printf("Test cntrl,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)cntrl,buff))!=0)
  {
   printf("pthread_create cntrl error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//5//


if(flag==5)
{
  printf("Test digit,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)digit,buff))!=0)
  {
   printf("pthread_create digit error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//6//


if(flag==6)
{
  printf("Test graph,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)graph,buff))!=0)
  {
   printf("pthread_create graph error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//7


if(flag==7)
{
  printf("Test lower,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)lower,buff))!=0)
  {
   printf("pthread_create lower error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//8///


if(flag==8)
{
  printf("Test print,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)print,buff))!=0)
  {
   printf("pthread_create print error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//9//


if(flag==9)
{
  printf("Test space,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)space,buff))!=0)
  {
   printf("pthread_create space error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//10//


if(flag==10)
{
  printf("Test punct,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)punct,buff))!=0)
  {
   printf("pthread_create punct error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//11//


if(flag==11)
{
  printf("Test upper,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)upper,buff))!=0)
  {
   printf("pthread_create upper error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}


//12///


if(flag==12)
{
  printf("Test xdigit,Please input the string:\n");
  scanf("%s",buff);
  printf("\n");
  if((ret=pthread_create(&tpid,NULL,(void*)xdigit,buff))!=0)
  {
   printf("pthread_create xdigit error!\n");
   return -1;
  }
  memset(buff,'\0',sizeof(buff));
}
//13/
if(flag==13)
{
  printf("Now quit!!\n");
  return -1;
}

}

}

-----------------------------------------------------------------------------------

#gcc -lpthread is-pthread.c -o is-pthread

#./is-pthread

效果如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值