C语言有大量的字符串操作函数。
一)字符串操作函数
C 语言中中有大量操作字符串的函数:
例1.1.strlen()函数的应用
#include"string.h" main() { int k; static char st[]="C language"; k=strlen(st); printf("The lenth of the string is %d\n",k); }
二)字符串操作函数 的应用
strcmp() 用来比较字符串(区分大小写),其原型为:
strcmp(str1, str2);
【参数】str1, str2 为需要比较的两个字符串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串”Ac”和”ba”比较则会返回字符”A”(65)和’b'(98)的差值(-33)。
【返回值】若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
例2.1:字符串比较函数strcmp()的应用
#include"string.h"
main()
{
int k;
static char st1[15],st2[]="C Language";
printf("input a string:\n");
gets(st1);
k=strcmp(st1,st2);
if(k==0) printf("st1=st2\n");
if(k>0) printf("st1>st2\n");
if(k<0) printf("st1<st2\n");
}
本程序中把输入的字符串和数组 st2 中的串比较,比较结果返回到 k 中,根据 k 值再输出结果提示串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。
strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。
例如字符串”Ac”和”ba”比较则会返回字符”A”(65)和’b'(98)的差值(-33)。
例2.2 两个字符串的操作函数实例
#include <stdio.h> #include <string.h> int main () { //string initialization char string1[15]="Hello"; char string2[15]=" World!"; char string3[15]; int val; //string comparison val= strcmp(string1,string2); if(val==0) { printf("Strings are equal\n"); } else { printf("Strings are not equal\n"); } //string concatenation printf("Concatenated string:%s",strcat(string1,string2)); //string1 contains hello world! //string length printf("\nLength of first string:%d",strlen(string1)); printf("\nLength of second string:%d",strlen(string2)); //string copy printf("\nCopied string is:%s\n",strcpy(string3,string1)); //string1 is copied into string3 return 0; }
一些重要的字符串操作函数
- strncmp(str1, str2, n) : 如果str1的前n个字符等于str2的前n个字符,则返回0;如果str1 <str2,则返回0;如果str1> str2,则返回0;
- strncpy(str1, str2, n) 此函数用于从另一个字符串复制一个字符串。 将str2的前n个字符复制到str1;
- strchr(str1, c): 它返回一个指向str1中首次出现的char c的指针,如果找不到字符,则返回NULL;
- strrchr(str1, c): 它反向搜索str1并返回一个指向str 1中char c位置的指针;如果找不到字符,则返回NULL;
- strstr(str1, str2): 它返回一个指向str1中首次出现的str2的指针,如果未找到str2,则返回NULL;
- strncat(str1, str2, n) 将str2的前n个字符附加(连接)到str1的末尾,并返回指向str1的指针;
- strlwr() :将字符串转换为小写;
- strupr() :将字符串转换为大写;
- strrev() : 反转字符串
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!