博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#include<string.h>
阅读量:7280 次
发布时间:2019-06-30

本文共 2080 字,大约阅读时间需要 6 分钟。

#include<string.h>

1 strcpy

#include <string.h>

char *strcpy(char *str1, const char *str2);

把字符串str2(包括'\0')拷贝到字符串str1当中,并返回str1。

2 strncpy

#include <string.h>

char *strncpy(char *str1, const char *str2, size_t count);

把字符串str2中最多count个字符拷贝到字符串str1中,并返回str1。如果str2中少于count个字符,那么就用'\0'来填充,直到满足count个字符为止。

3 strcat

#include <string.h>

char *strcat(char *str1, const char *str2);

把str2(包括'\0')拷贝到str1的尾部(连接),并返回str1。其中终止原str1的'\0'被str2的第一个字符覆盖。

4 strncat

#include <string.h>

char *strncat(char *str1, const char *str2, size_t count);

把str2中最多count个字符连接到str1的尾部,并以'\0'终止str1,返回str1。其中终止原str1的'\0'被str2的第一个字符覆盖。

注意,最大拷贝字符数是count+1。

5 strcmp

#include <string.h>

int strcmp(const char *str1, const char *str2);

按字典顺序比较两个字符串,返回整数值的意义如下:

  • 小于0,str1小于str2;
  • 等于0,str1等于str2;
  • 大于0,str1大于str2;

6 strncmp

#include <string.h>

int strncmp(const char *str1, const char *str2, size_t count);

同strcmp,除了最多比较count个字符。根据比较结果返回的整数值如下:

    • 小于0,str1小于str2;
    • 等于0,str1等于str2;
    • 大于0,str1大于str2;

 

 7 strstr

 strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。

 8 strchr

strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:     char * strchr (const char *str, int c);

【参数】str 为要查找的字符串,c 为要查找的字符。
strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。
注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。
【返回值】如果找到指定的字符则返回该字符所在地址,否则返回 NULL。
返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。
提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用 函数。
【实例】查找字符5首次出现的位置。

 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(){

    char *s = "0123456789012345678901234567890";

    char *p;

    p = strchr(s, '5');

   printf("%ld\n", s);

   printf("%ld\n", p);

    system("pause");

   return 0;

}

#include 
#include
#include
int main(){    char *s = "0123456789012345678901234567890";    char *p;    p = strchr(s, '5'); printf("%ld\n", s);    printf("%ld\n", p); system("pause");    return 0;}

输出结果: 12016464 12016469

9.memcmp:

memcmp是比较内存区域buf1和buf2的前count个字节。该函数是按比较的。

 

当buf1<buf2时,返回值-1

 

当buf1==buf2时,返回值=0

 

当buf1>buf2时,返回值1

 

转载于:https://www.cnblogs.com/nickup/p/5858954.html

你可能感兴趣的文章
StarUML 5.0问题解决:Failed to open the model file. Invalid file format.
查看>>
在 Backtrack 5 下对 Red Hat Enterprise Linux 5.4 的一次渗透测试
查看>>
cobbler 无人值守安装
查看>>
AMD一石三鸟 APU将适应个人、商用与云计算
查看>>
mysql 修改数据默认存放目录
查看>>
<hr> 水平样式分隔线
查看>>
广播多路访问链路上的OSPF
查看>>
sed awk
查看>>
KVM主机动态更改cpu数量和内存大小
查看>>
快速搭建springmvc+spring data jpa工程
查看>>
Spring中的四种声明式事务的配置
查看>>
设置鼠标可以移动窗体
查看>>
ASA防火墙静态PAT端口范围测试
查看>>
杀毒软件扫描后information store服务经常停止
查看>>
【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法...
查看>>
使用Moblin SDK开发应用程序 – Moblin软件架构
查看>>
编译原理:正规式转变成DFA算法
查看>>
纠正交换机原理误解
查看>>
打造立体安保方案 瑞星防毒墙为陕西省人民检察院保驾护航
查看>>
基于MMM实现MariaDB的高可用
查看>>