⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctype.cpp

📁 eC++编译器源码
💻 CPP
字号:
#pragma ctype

const unsigned int  UPPER=1; 
const unsigned int  LOWER=2; 
const unsigned int  DIGIT=4;
const unsigned int  SPACE=8; 
               
const unsigned int  PUNCT=16;   
const unsigned int  CONTROL=32;   
const unsigned int  BLANK=64;    
const unsigned int  HEX=128;   
char cty[128];

//* character classification function prototypes */
void ctyped()
{ 
  cty[0]=CHR(CONTROL);          cty[1]=CHR(CONTROL);           cty[2]=CHR(CONTROL);   
  cty[3]=CHR(CONTROL);          cty[4]=CHR(CONTROL);           cty[5]=CHR(CONTROL);          
  cty[6]=CHR(CONTROL);          cty[7]=CHR(CONTROL);           cty[8]=CHR(CONTROL);     
  cty[9]=CHR(SPACE|CONTROL);    cty[10]=CHR(SPACE|CONTROL);    cty[11]=CHR(SPACE|CONTROL);
  cty[12]=CHR(SPACE|CONTROL);   cty[13]=CHR(SPACE|CONTROL);    cty[14]=CHR(CONTROL);   
  cty[15]=CHR(CONTROL);         cty[16]=CHR(CONTROL);          cty[17]=CHR(CONTROL);          
  cty[18]=CHR(CONTROL);         cty[19]=CHR(CONTROL);          cty[20]=CHR(CONTROL);          
  cty[21]=CHR(CONTROL);         cty[22]=CHR(CONTROL);          cty[23]=CHR(CONTROL);     
  cty[24]=CHR(CONTROL);         cty[25]=CHR(CONTROL);          cty[26]=CHR(CONTROL);   
  cty[27]=CHR(CONTROL);         cty[28]=CHR(CONTROL);          cty[29]=CHR(CONTROL);          
  cty[30]=CHR(CONTROL);         cty[31]=CHR(CONTROL);          cty[32]=CHR(SPACE|PUNCT);     
  cty[33]=CHR(PUNCT);           cty[34]=CHR(PUNCT);            cty[35]=CHR(PUNCT);     
  cty[36]=CHR(PUNCT);           cty[37]=CHR(PUNCT);            cty[38]=CHR(PUNCT);     
  cty[39]=CHR(PUNCT);           cty[40]=CHR(PUNCT);            cty[41]=CHR(PUNCT);     
  cty[42]=CHR(PUNCT);           cty[43]=CHR(PUNCT);            cty[44]=CHR(PUNCT);     
  cty[45]=CHR(PUNCT);           cty[46]=CHR(PUNCT);            cty[47]=CHR(PUNCT);     
  cty[48]=CHR(DIGIT|HEX);       cty[49]=CHR(DIGIT|HEX);        cty[50]=CHR(DIGIT|HEX);     
  cty[51]=CHR(DIGIT|HEX);       cty[52]=CHR(DIGIT|HEX);        cty[53]=CHR(DIGIT|HEX);     
  cty[54]=CHR(DIGIT|HEX);       cty[55]=CHR(DIGIT|HEX);        cty[56]=CHR(DIGIT|HEX);     
  cty[57]=CHR(DIGIT|HEX);       cty[58]=CHR(PUNCT);            cty[59]=CHR(PUNCT);     
  cty[60]=CHR(PUNCT);           cty[61]=CHR(PUNCT);            cty[62]=CHR(PUNCT);     
  cty[63]=CHR(PUNCT);           cty[64]=CHR(PUNCT);            cty[65]=CHR(UPPER|HEX);     
  cty[66]=CHR(UPPER|HEX);       cty[67]=CHR(UPPER|HEX);        cty[68]=CHR(UPPER|HEX);     
  cty[69]=CHR(UPPER|HEX);       cty[70]=CHR(UPPER|HEX);        cty[71]=CHR(UPPER); 
  cty[72]=CHR(UPPER);           cty[73]=CHR(UPPER);            cty[74]=CHR(UPPER); 
  cty[75]=CHR(UPPER);           cty[76]=CHR(UPPER);            cty[77]=CHR(UPPER); 
  cty[78]=CHR(UPPER);           cty[79]=CHR(UPPER);            cty[80]=CHR(UPPER); 
  cty[81]=CHR(UPPER);           cty[82]=CHR(UPPER);            cty[83]=CHR(UPPER); 
  cty[84]=CHR(UPPER);           cty[85]=CHR(UPPER);            cty[86]=CHR(UPPER); 
  cty[87]=CHR(UPPER);           cty[88]=CHR(UPPER);            cty[89]=CHR(UPPER); 
  cty[90]=CHR(UPPER);           cty[91]=CHR(PUNCT);            cty[92]=CHR(PUNCT); 
  cty[93]=CHR(PUNCT);           cty[94]=CHR(PUNCT);            cty[95]=CHR(PUNCT);     
  cty[96]=CHR(PUNCT);           cty[97]=CHR(LOWER|HEX);        cty[98]=CHR(LOWER|HEX);     
  cty[99]=CHR(LOWER|HEX);       cty[100]=CHR(LOWER|HEX);       cty[101]=CHR(LOWER|HEX);     
  cty[102]=CHR(LOWER|HEX);      cty[103]=CHR(LOWER);           cty[104]=CHR(LOWER);     
  cty[105]=CHR(LOWER);          cty[106]=CHR(LOWER);           cty[107]=CHR(LOWER); 
  cty[108]=CHR(LOWER);          cty[109]=CHR(LOWER);           cty[110]=CHR(LOWER); 
  cty[111]=CHR(LOWER);          cty[112]=CHR(LOWER);           cty[113]=CHR(LOWER); 
  cty[114]=CHR(LOWER);          cty[115]=CHR(LOWER);           cty[116]=CHR(LOWER); 
  cty[117]=CHR(LOWER);          cty[118]=CHR(LOWER);           cty[119]=CHR(LOWER); 
  cty[120]=CHR(LOWER);          cty[121]=CHR(LOWER);           cty[122]=CHR(LOWER);
  cty[123]=CHR(PUNCT);          cty[124]=CHR(PUNCT);           cty[125]=CHR(PUNCT); 
  cty[126]=CHR(PUNCT);          cty[127]=CHR(PUNCT);           
};


boolean isalpha(char c) 
{
  return (ORD(cty[ORD(c)]) & (UPPER | LOWER))!=0;
};

boolean isupper(char c)
{
  return (ORD(cty[ORD(c)]) & UPPER)!=0;
};

boolean islower(char c)
{
  return (ORD(cty[ORD(c)]) & LOWER)!=0;
};


boolean isdigit(char c)
{
  return (ORD(cty[ORD(c)]) & DIGIT)!=0;
};


boolean isxdigit(char c)
{ 
  return (ORD(cty[ORD(c)]) & (DIGIT|HEX))!=0;
};


boolean isascii(unsigned int c)
{
  return (c <128);
};

boolean isspace(char c)
{
  return (ORD(cty[ORD(c)]) & SPACE)!=0;
};

boolean ispunct(char c)
{
  return (ORD(cty[ORD(c)]) & PUNCT)!=0;
};

boolean iscntrl(char c)
{
  return (ORD(cty[ORD(c)]) & CONTROL)!=0;
};

boolean isalnum(char c)
{ 
  return (ORD(cty[ORD(c)]) & (UPPER|LOWER|DIGIT))!=0;
};

boolean isprint(char c)
{
  return ( (ORD(c)>=32) && (ORD(c)<=126));
};

boolean isgraph(char c)
{
  return ( (ORD(c)>=33) && (ORD(c)<=126));
};

char  tolower(char c) 
{
 if (isupper(c)) return CHR(ORD(CAP(c))-(ORD('A')+ORD('a')));
 return  c;
};

char  toupper(char c)  
{
 if (islower(c)) return  CAP(c);
 return  c; 
};

char toascii(unsigned int c)  
{
 return  CHR(c & 127);
};

void ctype()
{
ctyped();
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -