Archive for the ‘C函数库系列’ Category

C中的字符判断函数(ctype.h)

Thursday, June 26th, 2008

isalnum 判断一个字符是否是字符类的数字或者字母
isalpha 判断一个字符是否是字母
isblank 判断一个字符是空白字符(空格和水平制表符Tab)
iscntrl 判断一个控制符(ascii码0-31之间的字符)
isdigit 判断一个字符是否是字符类的数字
isgraph 判断一个字符是否是可打印字符(ascii码33-126之间的字符)
islower 判断一个字符是否是小写字母
isprint 判断一个字符是否是包含空格在内的可打印字符(ascii码32-126之间的字符)
ispunct 判断一个字符是否是除空格,字母,数字外的标点符号
isspace 判断一个字符是空白字符(空格,换行符(\n),走纸符(\f),回车符(\r),垂直制表符(\v),水平制表符(\t))
isupper 判断一个字符是否是大写字母
isxdigit 判断一个字符是否是一个十六进制的数字
tolower 将大些字符转换为小写
toupper 将小写字符转换为大写

isalnum()函数的作用是判断一个字符是否是字符类的数字或者字母:

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

int main(void)
{
  if(isalnum('a'))
    printf("It's True"); // 显示 It's True
  if(isalnum(4))
    printf("It's True"); // 显示 ''
  if(isalnum('4'))
    printf("It's True"); // 显示 It's True
  return 0;
}

isalpha()函数的作用是判断一个字符是否是字母:

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

int main(void)
{
  if(isalpha('a'))
    printf("It's True"); // 显示 It's True
  if(isalpha(4))
    printf("It's True"); // 显示 ''
  if(isalpha('4'))
    printf("It's True"); // 显示 ''
  return 0;
}

isblank()函数的作用是判断一个字符是空白字符(空格和水平制表符Tab),isspace()函数和isblank()函数类似,但是还包含空格,换行符(\n),走纸符(\f),回车符(\r),垂直制表符(\v),水平制表符(\t):

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

int main(void)
{
  if(isblank(' ')) // 空格
    printf("It's True"); // 显示 It's True
  if(isblank('\t')) // Tab
    printf("It's True"); // 显示 It's True
  if(isblank('\n')) // 换行
    printf("It's True"); // 显示 ''
  if(isblank('\r')) // 回车
    printf("It's True"); // 显示 ''
  if(isspace(' ')) // 空格
    printf("It's True"); // 显示 It's True
  if(isspace('\t')) // Tab
    printf("It's True"); // 显示 It's True
  if(isspace('\n')) // 换行
    printf("It's True"); // 显示 It's True
  if(isspace('\r')) // 回车
    printf("It's True"); // 显示 It's True
  return 0;
}

iscntrl()函数的作用是判断一个控制符(ascii码0-31之间的字符):

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

int main(void)
{
  if(isblank(' ')) // 空格
    printf("It's True"); // 显示 ''
  if(isblank('\t')) // Tab
    printf("It's True"); // 显示 It's True
  if(isblank('\n')) // 换行
    printf("It's True"); // 显示 It's True
  if(isblank('\r')) // 回车
    printf("It's True"); // 显示 It's True
  return 0;
}

isdigit()函数的作用是判断一个字符是否是字符类的数字:

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

int main(void)
{
  if(isdigit('4'))
    printf("It's True"); // 显示 It's True
  if(isdigit(4))
    printf("It's True"); // 显示 ''
  if(isdigit('a'))
    printf("It's True"); // 显示 ''
  return 0;
}

isgraph()函数的作用是判断一个字符是否是可打印字符(ascii码33-126之间的字符),isprint()函数功能和isgraph()函数类似,区别是isprint()函数包含空格在内(ascii码32-126之间的字符):

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

int main(void)
{
  if(isgraph('a'))
    printf("It's True"); // 显示 It's True
  if(isgraph('.'))
    printf("It's True"); // 显示 It's True
  if(isgraph(' ')) // 空格
    printf("It's True"); // 显示 ''
  if(isprint('a'))
    printf("It's True"); // 显示 It's True
  if(isprint('.'))
    printf("It's True"); // 显示 It's True
  if(isprint(' ')) // 空格
    printf("It's True"); // 显示 It's True
  return 0;
}

islower()函数的作用是判断一个字符是否是小写字母,isupper()函数的作用是判断一个字符是否是大写字母:

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

int main(void)
{
  if(islower('a'))
    printf("It's True"); // 显示 It's True
  if(islower('A'))
    printf("It's True"); // 显示 ''
  if(isupper('a'))
    printf("It's True"); // 显示 ''
  if(isupper('A'))
    printf("It's True"); // 显示 It's True
  return 0;
}

ispunct()函数的作用是判断一个字符是否是除空格,字母,数字外的标点符号:

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

int main(void)
{
  if(ispunct('a'))
    printf("It's True"); // 显示 ''
  if(ispunct('.'))
    printf("It's True"); // 显示 It's True
  if(ispunct('<'))
    printf("It's True"); // 显示 It's True
  return 0;
}

isxdigit()函数的作用是判断一个字符是否是一个十六进制的数字:

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

int main(void)
{
  if(isxdigit('4'))
    printf("It's True"); // 显示 It's True
  if(isxdigit('xE'))
    printf("It's True"); // 显示 It's True
  if(isxdigit('xF'))
    printf("It's True"); // 显示 ''
  return 0;
}

tolower()函数的作用是将大些字符转换为小写,toupper()函数的作用是将小写字符转换为大写:

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

int main(void)
{
char n,m,i,j;

n = tolower('A');
m = tolower('a');
i = toupper('a');
j = toupper('.');
    printf("%c %c %c %c", n, m, i, j); // 显示 a a A .

  return 0;
}

C中的字符串函数(string.h)

Monday, June 23rd, 2008