C语言字符串处理函数(下)

 2023-03-07 20:33:23  阅读 0

一、字符串函数

strcpy( )

一般形式:      

char *strcpy(字符数组名1,字符数组名2 或 字符串2)

功能:把字符数组2中的字符串复制到字符数组1中,串结束 标志‘\0’也一同复制。与strcat函数一样,字符数组1也必须定 义得足够大,以便容纳被复制的字符串。字符数组1的长度不 应小于字符串2的长度。

不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如下面两行都是不合法的:

str1=″China″; str1=str2;    

而只能用strcpy函数将一个字符串复制到另一个字符数组中去。

用赋值语句只能将一个字符赋给一个字符型变量或字符数组元素。如下面是合法的:

char a[5],c1,c2; c1=′A′;  c2=′B′; a[0]=′C′; a[1]=′h′; a[2]=′i′; a[3]=′n′; a[4]=′a′;

strlen( )

一般形式:      

int strlen(字符串)

功能:计算出字符串的长度(不含字符串结束标志‘\0’), 并将该长度作为函数返回值。

如:char str[10]={″China″};     printf(″%d″,strlen(str));

输出结果不是10,也不是6,而是5。也可以直接测试字符串常量的长度,如strlen(″China″);

strcmp( )

一般形式:      

int strcmp(字符串1,字符串2)

功能:按照ASCII码值得大小逐个比较两个字符串的对应字符,直到值不相等或遇到’\0’结束比较。具体规则如下: 如果字符串1=字符串2,函数值为0。 如果字符串1>字符串2,函数值为一正整数。 如果字符串1<字符串2,函数值为一负整数。

strlwr( )

一般形式:      

char *strlwr(字符串)

功能:将字符串中的大写字母转换成小写字母,小写字符与其它字符不变。

strupr( )

一般形式:      

char *strupr(字符串)

功能:将字符串中的小写字母转换成大写字母,大写字符与其它字符不变。

案例分析

输入一字符串,长度小于50,统计其中包含多少个单词, 单词之间用空格分隔开。例如,输入“I am a student”,输 出4。

//FileName: chap4_20.c 
#include<stdio.h>
#include<string.h>
int main()
{
 char s [50];
 int i,m,n;
 printf("input a string:\n");
 gets(s);
 m=strlen(s);
 n=0;
 if(m>0)
 {
  for(i=0;i<m;i++)
  {
if(s[i]!=' ' && s[i+1]==' ')
     n++;
   }
   n++;
	}
	printf("%d\n ",n);
	return 0;
}

运行结果如下: input a string: I am a student↙ 4

标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码