c语言计算字符串的函数是什么,字符函数

字符函数(character function)是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。

中文名

字符函数

外文名

character function

应用领域

计算机等涉及编程语言

C语言,Linux等

操作对象

字符

属    性

计算机函数

字符函数C语言

编辑

在实际编程中常需要对个别字符进行处理,C语言也提供了字符函数。这些函数不能被应用于整个字符串,但可以被应用于字符串中的个别字符。表中罗列了几个最常用且有用的字符函数,使用这些函数必须包含头文件“ctype.h”。[1]

ctype.h的字符判断函数

函数名为如下参数时,返回值为真, 否则为零

isalpha()字母

isblank()标准的空白字符(空格、换行或水平制表符)或任何其他预定义指定为空白符的字符

isdigit()阿拉伯数字

islower()小写字母

isupper()大写字母

isspace()空白字符:空格、换行、走纸、回车、垂直制表符、水平制表符或任何其他预定义指定的字符ctype.h的字符映射函数

tolower()若参数是大写字母,返回相应的小写字母,否则返回原始参数

toupper()若参数是小写字母,返回相应的大写字母,否则返回原始参数

字符函数Visual FoxPro

编辑

字符函数宏代换函数

格式如下:[2]

&[.字符表达式]

功能:一是替换字符型内存变量的值,二是将数值型字符转换为数值型数据。如果该函数与其后的字符无明确分界,则要用“.”作为函数结束标识。

C2=”Computer”

C1="2"

C=”c&c1’’

?&C1.2*3,&C

输出的结果为:66 Computer

字符函数求字符串长度函数

格式如下:

LEN(字符型表达式)

功能:求字符串的长度,即所包含的字符个数。若是空串,则长度为0。函数值为数值型。

?LEN(”计算机学院”),LEN(”我 要 学 习”)

屏幕显示的结果为:10 11(注意”我 要 学 习”,每个字中间都有一个空格)

字符函数求子串位置函数

格式如下:

AT(,)

ATC(,)

功能:若的值存在于的值中,则给出在中的开始位置,若不存在,则函数值为0。函数值为数值型。ATC函数在子串比较时不区分字母大小写。

?AT(”345”,”123456”),AT(”5”,”12367”)

?AT(”abc”,”ABCDE abcde”),AT(”abc”,”ABDCE abdce”)

输出的值为:3 0

7 0

字符函数取子串函数

格式如下:

LEFT(,)

RIGHT(,)

SUBSTR(,[,])

功能:LEFT函数从字符型表达式左边的第一个字符开始截取子串,RIGHT函数从字符型表达式右边的第一个字符开始截取子串。若数值型表达式的值大于0,且小于等于字符串的长度,则子串的长度与数值型表达式值相同。若数值型表达式的值大于字符串的长度,则给出整个字符串。若数值型的表达式小于或等于0,则给出一个空字符串。

SUBSTR函数对字符型表达式从指定位置开始截取若干个字符。起始位置和字符个数分别由数值型表达式1和数值型表达式2决定。若字符个数省略,或字符个数多于从起始位置到原字符串尾部的字符个数,则取从起始位置起,一直到字符串尾的字符串作为函数值。若起始位置或字符个数为0,则函数值为空串。显然SUBSTR函数可以代替LEFT函数和RIGHT函数的功能。

STORE”GOOD BYE!”TO X

?LEFT(x,2),SUBSTR(x,6,2),SUBSTR(x,6),RIGHT(x,3)

输出的函数值为:GO BY BYE! YE!

字符函数删除字符串前后空格函数

格式如下:

LTRIM()

RTRIM()

ALLTRIM()

功能:

LTRIM删除字符串的前导空格。

RTRIM删除字符串的尾部空格。RTRIM也可写成TRIM。

ALLTRIM删除字符串中的前导和尾部空格。ALLTRIM函数兼有LTRIM和RTRIM函数的功能。

STORE SPACE(2)+”TEST”+SPACE(3) TO SS &&SPACE()为产生空格函数

?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)

?LEN(SS),LEN(TRIM(SS)),LEN(LTRIM(SS)),LEN(ALLTRIM(SS))

输出的结果为:

TESTTEST TEST

9 6 7 4

字符函数生成空格函数

格式如下:

SPACX()

功能:生成若干个空格,空格的个数由数值型表达式的值决定。

name=SPACE(8)&&等效为变量name为字符型变量,变量值为8个空格

?LEN(LTRIM(name))

&&先用函数LTRIM()删除了变量NAME的空格,再求该函数的长度,故屏幕输出的值为0

字符函数字符串替换函数

格式如下:

STUFF(,,,)

功能:用去替换中由起始位置开始所指定的若干个字符。起始位置和字符个数分别由数值型表达式1和数值型表达式2指定。如果字符型表达式2的值是空串,则字符型表达式1中由起始位置开始所指定的若干个字符被删除。

STORE’中国重庆’ TO x

?STUFF(x,6,4,’北京’),STUFF(X,5,0,”北京”),STUFF(X,5,10,”北京”)

屏幕输出为:中国 北京 中国北京 重庆 中国北京

字符函数产生重复字符函数

格式如下:

REPLICATE(,)

功能:重复给定字符串若干次,次数由数值型表达式给定。

?REPLICATE(‘*’,6) &&屏幕输出为:******

字符函数大小写字母转换函数

格式如下:

LOWER()

UPPER()

功能:LOWER将字符串中的大写字母转换成小写。

UPPER将字符串中的小写字母转换成大写。

a =”ABcd’’

?UPPER(a),LOWER(“a”)

输出的函数值为:ABCD abcd

在字符串中,同一字母的大小写为不同字符,如果利用大小字母转换函数,就可以不考虑字符串中的字母是大写还是小写。

字符函数计算字串出现次数函数

格式如下:

OCCURS(,)

功能:OCCURS()函数返回第一个字符串在第二个字符串中出现的次数,如果第一个字符串不是第二个字符串的子串,则函数值为0。

?OCCURS(”R”,”PRTOUTR”) &&输出的结果为:2

字符函数字符串匹配函数

格式如下:

LIKE(,)

功能:LIKE()函数比较两个字符串对应位置上的字符,如果所有对应字符都匹配,函数返回逻辑值(.T.),否则返回逻辑值(.F.)。

?LIKE(”XY*”,”XYZ”)

输出的结果为:.T.

字符函数Linux

编辑

字符调试函数如下:[3]

字符调试函数

函数名功能

isalnum测试字符是否为英文或数字

isalpha测试字符是否为英文字母

isascii测试字符是否为ASCII码字符

isentrl测试字符是否为ASCII码的控制字符

isdigit测试字符是否为阿拉伯数字

islower测试字符是否为小写字母

isprint测试字符是否为可打印字符

isspace测试字符是否为空格字符

ispunct测试字符是否为标点符号或特殊符号

isupper测试字符是否为大写英文字母

isxdigit测试字符是否为十六进制数字

例:从键盘读入一行字符,测试读入字符是否为大写字符。

操作步骤

步骤1编辑源程序代码。

[root@localhost root]#vim 4-4.c

程序代码如下:

#include”stdio.h”

#include

main()

{

char c;

while((c=getchar())!=飞Ir)

if(isupper(c))

printf(”%c is an uppercase character\n”,c);

}

步骤2用gcc编译程序。

接着用gcc的“一o”参数,将4—4.C程序编译成可执行文件4—4,输入如下:

[root@localhost root]#gce 4-4.c —O 4-4

步骤3运行程序。

编译成功后,执行可执行文件4—4,输入字符串“f956GFyffUTR57”,此时系统会出现运行

结果,终端中的显示如下:

[root@localhost root]#./4—4

f956GFyffUTR57

G is an uppercase character

F is an uppercase character

U is an uppercase character

T is an uppercase character

R is an uppercase character

参考资料

1.

周宇主编.C语言程序设计教程:东南大学出版社,2010.08:106

2.

曾庆森,王艳等编著.Visual FoxPro程序设计:清华大学出版社,2013.02

3.

严冰,刘加海,季江民主编.Linux程序设计:浙江大学出版社,2012.02:107

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值