void *memchr(const void *s, int c, size_t n); 在s指向对象的前n个字符中查找是否有c。如果找到,则返回首次出现c处的指针,如果未找到则返回NULL
int memcmp(const void *s1, const void *s2, size_t n); 比较s1指向对象中的前n个字符和s1指向对象的前n个字符,每个值都解释为unsigned char 类型。如果n个字符都匹配,则两个对象完全相同;否则,比较两个对象中首次不匹配的字符对。如果两个对象相同,函数返回0;如果在数值上第一个对象小于第二个对象,函数返回小于0的值;如果在数值上第一个对象大于第二个对象,函数返回大于0的值
void *memcpy(void *restrict s1, const void * restrict s2, size_t n); 把s2所指向位置上的n字节拷贝到s1指向的位置上,函数返回s1的值。如果两个位置出现重叠,其行为时未定义的
void *memmove(void *s1, const void *s2, size_t n); 把s2所指向位置上的n字节拷贝到s1指向的位置上,其行为与拷贝类似,返回s1的值。但是,如果出现局部重叠情况,该函数会先把重叠的内容拷贝至临时位置
void *memset(void *s, int v, size_t n); 把v的值(转换为unsigned char)拷贝至s指向的前n字节中,函数返回s
char *strcat(char *restrict s1, const char * restrict s2); 把s2指向的字符串拷贝到s1指向字符串后面,s2字符串的第一个字符覆盖s1字符串的空字符。该函数返回s1
char *strncat(char *restrict s1, const char * restrict s2, size_t n); 把s2指向字符串的n个字符拷贝到s1指向的字符串后面(或拷贝到s1的空字符为止)。s2字符串的第一个字符覆盖s1字符串的空字符。函数返回s1
char *strcpy(char *restrict s1, const char * restrict s2); 把s2指向的字符串拷贝到s1指向的位置。函数返回s1
char *strncpy(char * restrict s1, const char * restrict s2, size_t n); 把s2指向字符串的n个字符拷贝到s1指向的位置(或拷贝到s2的空字符为止)。如果在拷贝n个字符之前遇到空字符,则在拷贝字符后面添加若干个空字符,使其长度为n; 如果拷贝n个字符没有遇到空字符,则不添加空字符。函数返回s1
int strcmp(const char *s1, const char *s2); 比较s1和s2指向的两个字符串。如果完全匹配,则两个字符串相同,否则比较首次出现不匹配的字符对。通过字符编码值比较字符。如果两个字符串相同,函数返回0;如果第一个字符串小于第二个字符串,函数返回小于0的值;如果第一个字符串大于第二个字符串,函数返回大于0的值
int strcoll(const char *s1, const char *s2); 与strcmp()类似,但是该函数使用当前本地化的LC_COLLATE类别(由setlocale()函数设置)所指定的排序方式进行比较
int strncmp(const char *s1, const char *s2, size_t n); 比较s1和s2指向数组中的前n个字符,或比较到第一个空字符位置。如果所有的字符对都匹配,则两个数组相同,否则比较两个数组中首次不匹配的字符对。通过字符编码值比较字符。如果两个数组相同,函数返回0;如果第一个数组小于第二个数组,函数返回小于0的值;如果第一个数组大于第二个数组,函数返回大于0的值
size_t strxfrm(char * restrict s1, const char * restrict s2, size_t n); 转换s2中的字符串,并把转换后的前n个字符(包括空字符)拷贝到s1指向的数组中。用strcmp(0比较转换后的两个字符串的结果和用strcoll()比较两个未转换字符串的结果相同。函数发挥转换后的字符串长度(不包括末尾的空字符)
char *strchr(const char *s, int c); 查找s指向的字符串中首次出现c的位置。空字符是字符串的一部分。函数返回一个指针,指向首次出现c的位置。如果没有找到指定的c则返回NULL
size_t strcspn(const char *s1, const char *s2);

返回s1中未出现s2中任何字符的最大起始段长度

char *strpbrk(const char *s1, const char *s2); 返回一个指针,指向s1中与s2任意字符匹配的第一个字符的位置。如果未发现任何匹配的字符,函数返回NULL
char *strrchr(const char *s, int c); 在s指向的字符串中查找最后一次出现c的位置(即从s2右侧开始查找字符c首次出现的位置)。空字符是字符串的一个部分。如果找到,函数返回指向该位置的指针;如果未找到,则返回NULL
size_t strspn(const char *s1, const char *s2); 返回s1中包含s2所有字符的最大起始段长度
char *strstr(const char *s1, const char *s2); 返回一个指针,指向s1中首次出现s2中字符序列(不包括结束的空字符)的位置。如果未找到,函数返回NULL
char *strtok(char * restrict s1, const char * restrict s2); 该函数把s1字符串分解为单独的记号。s2字符串包含了作为记号分隔符的字符。按顺序调用该函数。第一次调用时,s1应该指向待分解的字符串。函数定位到非分隔符后的第一个记号分隔符,并用空字符替换它。函数返回一个指针,指向存储第一个记号的字符串。如果未找到记号,函数返回NULL。在此次调用strtok()查找字符串中的更多记号。每次调用都返回指向下一个记号的指针,如果未找到则返回NULL

char * strerror(int errnum);

返回一个指针,指向与存储在errnum中的错误号相对应的错误信息字符串

int strlen(const char * s);

返回字符串s中的字符数(末尾的空字符除外)

C语言 处理字符串库 string.h相关推荐

  1. C语言常见字符串处理string.h库函数strstr、strchr、strcat、strcmp、strcpy、strlen的介绍

    目录 strstr 声明 返回值 strchar 声明 返回值 strchr和strstr的差别 strcat 声明 返回值 strcmp 声明 返回值 strcpy 声明 返回值 strlen 声明 ...

  2. c语言标准库字符串截取,C语言专题——标准库string.h

    1 复制 char* strcpy (char *s1, const char *s2); 将字符串s2复制到s1指定的地址 char* strncpy (char *s1, const char * ...

  3. c语言标准库详解(七):字符串函数string.h

    c语言标准库详解(七):字符串函数<string.h> 头文件<string.h>中定义了两组字符串函数.第一组函数的名字以 str 开头:第二组函数的名字以 mem 开头.除 ...

  4. strcmp和stricmp,C 标准库 string.h

    strcmp和stricmp,C 标准库 - string.h 一.strcmp 二.stricmp 三.C 标准库string.h 一.strcmp C语言 strcmp() 函数用于对两个字符串进 ...

  5. C 标准库 - string.h

    C 标准库 - string.h This header file defines several functions to manipulate C strings and arrays. stri ...

  6. C 标准库—— string.h

    C 标准库 -- string.h C 标准库 -- time.h C 标准库 -- limits.h C 标准库 -- stdio.h C 标准库-- stdlib.h(包括 rand srand ...

  7. 字符串<string.h>头文件

    STRING.H 头文件 string.h 包含了 基本常见的字符串所需要的原型和声明. 下面是常用的几个str用法 strlen(s):返回字符串 s 的长度. strcpy(s1, s2):将字符 ...

  8. C 标准库 - string.h之strstr使用

    strstr Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not p ...

  9. C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)

    内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...

最新文章

  1. Educational Codeforces Round 30 A
  2. Savior:渗透测试报告自动生成工具
  3. 腾讯管家去除桌面快捷小图标
  4. 微信发卡小程序源码-自动发卡小程序源码-带流量主功能
  5. 一个大龄程序员对大家的总结性忠告(源于VeryCD)
  6. Nginx + Tomcat Windows下的负载均衡配置
  7. npm WARN stylus-loader@3.0.2 requires a peer of stylus@>=0.52.4 but none is installed. You must inst
  8. 微软这次开源的是 Windows 计算器
  9. 一条Select语句丛生到死的处理过程
  10. [spoj694spoj705]New Distinct Substrings(后缀数组)
  11. 【译】BMP格式与JPG格式之间的区别
  12. GlusterFS更换故障Brick
  13. Flex 与外部的数据通信(HTTPService,URLLoader和URLRequest)
  14. Linux下FTP上传下载之续传命令
  15. 计算机桌面文件能单独设密码吗,告诉你怎么给文件夹设置密码
  16. java操作数据库步骤_java数据库操作基本流程
  17. Axure RP 10 10.0.0.3818 中文版 专业的快速原型设计工具
  18. 修改 Git 已经提交记录的 用户名 和邮箱
  19. Xshell连接centOS7
  20. Android电量统计

热门文章

  1. Dubbo详细介绍与安装使用过程
  2. 2018-2019-2 实验四 Android程序设计
  3. 零基础学python-5.6 数字位操作与其它工具
  4. Android中动态获取Drawable中的图片
  5. 如何在Python中显式释放内存?
  6. Oracle 空间查询, 数据类型为 sdo_geometry
  7. jQuery 遍历 - children() 方法
  8. (转) RabbitMQ学习之helloword(java)
  9. (转)Spring的概述
  10. 笨办法学 Python · 续 练习 34:分析器