本文将介绍几个操作字符串的函数和几个简单的实例说明,这些例子都是在RHEL5.4下运行的。。。
1。数字或字母测试函数 isalnum
函数isalnum的作用是检查参数c是否为英文字母或阿拉伯数字。若参数C是个字母或数字,则返回真值,否则返回值为假。这个函数包含于头文件“ctype.h”中,使用方法如下所示:
int isalnum (int c)
参数C是一个字符变量,但是在C程序中,字符变量等同于这个变量的ASCII码的值,所以参数也可以是一个ASCII码值的整型数值。下面是这个函数的使用实例,测试一个字符数组中所有的字符,如果是字母或数字则输出结果。
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]);
/*输出结果*/
}
}
}
#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]#
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]);
}
}
}
#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]#
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相似。下面是个判断字符大小写的例子,判断一个数组中有哪些大写字母和小写字母。
函数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]);
}
}
}
#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]#
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码表中的一个编号,函数对这个字符进行判断,如果是一个数字则返回真值,否则返回值为假。下面是一个函数使用实例,判断一个数组中的字符,如果是数字则输出,代码如下:
函数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]);
}
}
}
#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]#
1 is a number.
2 is a number.
0 is a number.
5 is a number.
6 is a number.
[root@localhost c-test]#
本篇就介绍到这里,未完待续。。。
本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/360302如需转载请自行联系原作者
world77