string.h中常用的函数

1,查找(strchr,strrchar和strstr)

 strchr:查找字符,返回值为该字符在数组中首次出现的地址;

用 法: strchr(str, c);

strstr:查找字符串,返回值为该字符串在数组中首次出现的地址;

用 法: strchr(str, str1);

 实例:  

char *str1 = "1q23qwe456";
 char *str2 = "qwe";
 char c = 'q'

 这里strstr返回的指针指向的字符串是qwe456,strchr返回的指针指向的字符串是q23qwe456;
但是如果char *str2 = "q",那么strstr和strchr返回的指针指向的字符串都是q23qwe456.
-----------strrchar----查找字符串中最后出现的指定字符并返回最后出现的地址;
2.比较(strcmp、strncmp、stricmp(strcmpi))
 用 法: strcmp(str1, str2);

返回值:如果str1与str2中的第一个不同的因素的ascii码比较,str1的较大, 则返回值为正;反之为负;完全相同则为0。

实例:

#include <stdio.h>
#include <string.h>


int main()
{
    int x, y, z;
    char a[] = "abb";char b[] = "aba"; char c[] = "abc"; char d[] = "abb";
    x = strcmp(a, b); y = strcmp(a, c); z = strcmp(a, d);
    printf("%d %d %d\n", x, y, z);
    return 0;
}
运行结果;
1 -1 0

------------strncpy----用 法: strcmp(str1, str2, n);

即对str1和str2的前n个因素进行比较。

------------stricmp(strcmpi)----以大小写不敏感的方式比较,用法同strcmp; 

3.复制(strcpy、strncpy)

 

功 能: 拷贝一个字符串到另一个
用 法: strcpy(str1, str2);即str2复制到str1;
#include<stdio.h>
 
#include<string.h>
 
int main(void)
 
{
 
char string[10];
 
char*str1="abcdefghi";
 
strcpy(string,str1);
 
printf("%s\n",string);
 
return 0;
 
}
 strncpy即把前n个因素复制;
用法:strncpy(str1, str2, n);

4.连接(strcat)

功 能: 字符串拼接函数
用 法: strcat(str1, str2);
 即把str2连接到str1后;

5.长度(strlen)

 功能: strlen函数求的是字符串的长度,它求得方法是从字符串的首地址开始到遇到第一个'\0'停止计数,如果你只定义没有给它赋初值,

  这个结果是不定的,它会从字符串首地址一直记下去,直到遇到'\0'才会停止。

用法:

#include <stdio.h>
#include <string.h>


int main()
{
    int x, y, z;
    char a[] = "abb";char b[] = "abaf"; char c[] = "affbc";
    x = strlen(a); y = strlen(b); z = strlen(c);
    printf("%d %d %d\n", x, y, z);
    return 0;
}
 运行结果:

 3 4 5

6.strcspn,strspn

1.strcspn
统计指定字符前字符个数
返回值为个数值;
实例:
#include <string.h>
 
main()
 
{
 
     char  *str =  "Linux was first developed for 386/486-based pcs. " ;
 
     printf ( "%d\n" strcspn (str,  " " ));
 
     printf ( "%d\n" strcspn (str,  "/-" ));
 
     printf ( "%d\n" strcspn (str,  "1234567890" ));
 
}
 
 
执行结果:
 
//只计算到" "的出现, 所以返回"Linux"的长度
 
33  //计算到出现"/"或"-", 所以返回到"6"的长度
 
30  // 计算到出现数字字符为止, 所以返回"3"出现前的长度

2.strspn

返回字符串中第一个不在指定字符串中出现的字符下标。

实例:

1
2
3
4
5
6
7
8
9
#include <string.h>
#include <stdio.h>
main()
{
     char  *str= "Linux was first developed for 386/486-based pcs." ;
     printf ( "%d " , strspn (str, "Linux" ));
     printf ( "%d " , strspn (str, "/-" ));
     printf ( "%d\n" , strspn (str, "1234567890" ));
}
 运行结果:

5 0 0

7.颠倒(strrev)

功能:把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)。
说明:返回指向颠倒顺序后的字符串指针。
 8.小写转大写(strupr)

用法:

strupr(str);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值