本文将介绍几个操作字符串的函数和几个简单的实例说明,这些例子都是在RHEL5.4下运行的。。。
1。数字或字母测试函数   isalnum
函数isalnum的作用是检查参数c是否为英文字母或阿拉伯数字。若参数C是个字母或数字,则返回真值,否则返回值为假。这个函数包含于头文件“ctype.h”中,使用方法如下所示:
    int isalnum (int c)
    参数C是一个字符变量,但是在C程序中,字符变量等同于这个变量的ASCII码的值,所以参数也可以是一个ASCII码值的整型数值。下面是这个函数的使用实例,测试一个字符数组中所有的字符,如果是字母或数字则输出结果。
[root@localhost c-test]# vi isalnum.c
#include <stdio.h>
#include <ctype.h>      /*头文件  ctype.h*/
main()
{
        char s[]="12as056;~^*&";     /*定义一个字符串数组*/
        int i;                     /*定义一个整型变量作为循环的计数器*/
        for(i=0;s[i]!=NULL;i++)        /*判断S[I]是否为空作为循环条件*/
        {       if (isalnum(s[i]))     /*判断当前字符是否是字符或数字*/
                {
                    printf("%c is a number or character. \n",s[i]);   
                     /*输出结果*/
                }
        }
}
[root@localhost c-test]# gcc isalnum.c -o isalnum
[root@localhost c-test]# ./isalnum
1 is a number or character.
2 is a number or character.
a is a number or character.
s is a number or character.
0 is a number or character.
5 is a number or character.
6 is a number or character.
[root@localhost c-test]#

    2.字母测试函数  isalpha
函数 isalpha可以测试一个字符是否是个英文字母,这个函数的使用方法如下:
  int isalpha (int c)
   函数的参数C表示一个字母或表示一个字母的ASCII的码值,如果这个参数是一个英文字母,则返回真值,否则返回值为假。这里的英文字母是指26个大小写的字母,不包括其他的任何字符。下面的程序时对字符数组里的每个字符进行测试
[root@localhost c-test]# vi isalpha.c
#include <stdio.h>
#include <ctype.h>
main()
{
        char s[]="12aAHDr056^$*";
        int i;
        for (i=0;s[i]!=NULL;i++)
        {
                if (isalpha(s[i]))
                {
                   printf("%c is a character. \n",s[i]);
                }
        }
}
[root@localhost c-test]# gcc isalpha.c -o isalpha
[root@localhost c-test]# ./isalpha
a is a character.
A is a character.
H is a character.
D is a character.
r is a character.
[root@localhost c-test]#
 
3.大小写字母测试函数 islower和isupper
函数islower用于测试一个字符是否是小写字符,如果这个参数是是小写字母,函数就返回真值,函数isupper的用法和islower相似。下面是个判断字符大小写的例子,判断一个数组中有哪些大写字母和小写字母。
[root@localhost c-test]# vi isLower_isUpper.c
#include <stdio.h>
#include <ctype.h>
main()
{
        char s[]="12asdAHDr056^$*";
        int i;
        for (i=0;s[i]!=NULL;i++)
        {
                if (islower(s[i]))
                {
                   printf("%c is a islower  character. \n",s[i]);
                }
                if (isupper(s[i]))
                {
                   printf("%c is a isupper  character. \n",s[i]);
                }
        }
}
[root@localhost c-test]# gcc  isLower_isUpper.c -o isLower_isUpper
[root@localhost c-test]# ./isLower_isUpper
a is a islower  character.
s is a islower  character.
d is a islower  character.
A is a isupper  character.
H is a isupper  character.
D is a isupper  character.
r is a islower  character.
[root@localhost c-test]#
 
4.数字测试函数isdigit
函数isdigit可以测试一个字母是否是0-9之间的阿拉伯数字,这个函数的使用方法如下:
int isdigit(int )
这个函数的参数C表示一个字符,或者ASCII码表中的一个编号,函数对这个字符进行判断,如果是一个数字则返回真值,否则返回值为假。下面是一个函数使用实例,判断一个数组中的字符,如果是数字则输出,代码如下:
[root@localhost c-test]# vi isdigit.c
#include <stdio.h>
#include <ctype.h>
main()
{
        char s[]="12asdAHDr056^$*";
        int i;
        for (i=0;s[i]!=NULL;i++)
        {
                if (isxdigit(s[i]))
                {
                   printf("%c is a number. \n",s[i]);
                }
               
        }
}

[root@localhost c-test]# gcc isdigit.c -o isxdigit
[root@localhost c-test]# ./isxdigit
1 is a number.
2 is a number.
0 is a number.
5 is a number.
6 is a number.
[root@localhost c-test]#
 
本篇就介绍到这里,未完待续。。。