常用的字符串函数

strlen()函数,可以用来求字符串的长度。(前面的博客已讲过,此处不再细讲)

strcat()函数,该函数接受两个字符串参数。它将第二个字符串的一份拷贝添加到第一个字符串的结尾,从而使第一个字符串成为一个新的组合字符串,第二个字符串并没有改变。strcat()函数是char*(指向char的指针)类型。这个函数返回它第一个参数的值,即新组合字符串中第一个字符的地址。

例如:

char str1[ ]="Hello ";

char str2[ ]="sunday";

strcat(str1,str2);


strncat()函数,该函数有三个参数。例如strncat(str1,str2,2).这个函数只允许str2的前2个字符拷贝到str1的尾部,并且覆盖住空字符。str2剩余的任何字符不再复制。该函数返回第一个参数。


strcmp()函数,该函数有两个参数,例如strcmp(str1,str2),这个函数是用于比较两个字符串的大小。比较结果有函数的返回值返回。字符串之间的比较规则是:从第一个字符开始,依次对字符串str1和str2对应位置上的字符的ACCII码的大小进行比较,知道出现一对不同的字符或是遇到字符串的结束符'\0'为止。若两个字符串中的字符都相同,则认为两个字符串相等,函数返回0;当字符串str1大于str2时,函数返回一个正整数;当字符串str1小于str2时,函数返回一个负整数。例如:

#include<stdio.h>
#include<string.h>
int main(void)
{
   printf("strcmp(\"A\",\"A\")is");
   printf("%d\n",strcmp("A","A"));
   printf("strcmp(\"A\",\"B\")is");
   printf("%d\n",strcmp("A","B"));
   printf("strcmp(\"B\",\"A\")is");
   printf("%d\n",strcmp("B","A"));
   printf("strcmp(\"C\",\"A\")is");
   printf("%d\n",strcmp("C","A"));
   printf("strcmp(\"apples\",\"apple\")is");
   printf("%d\n",strcmp("apples","apple"));
   
   return 0;
}

输出结果是:

strcmp("A","A")is 0

strcmp("A","B")is-1

strcmp("B","A")is 1

strcmp("C","A")is 1

strcmp("apples","apple")is -1


strncmp()函数,例如str(str1,str2,n),用于比较字符串str1和str2的前n 个字符,并返回函数的值,后面的便不再比较。


strcpy()函数,该函数有两个参数,例如strcpy(字符数组1,字符数组2),这个函数的功能是将字符数组2的字符串复制到字符数组1中,这种拷贝连同字符串结束符一起拷贝。字符数组1要有足够的空间,以确保复制字符后不会出现越界。例如:

#include<stdio.h>
#include<string.h>
int main(void)
{
    char a[7]="flower";
    char b[4]="red";
    int i;
    printf("%s  %s\n",a,b);
    strcpy(a,b);
    puts(a);
    for(i=0;i<7;i++)
    putchar(a[i]);
    printf("\n%s  %s\n",a,b);
    return 0;
}

输出结果如下:

flower  red
red
reder
red  red


strncpy()函数,有三个参数,例如strncpy(字符数组1,字符数组2,n),该函数的功能是把字符数组2中的前n个字符复制到字符数组1中。




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值