c/c++学习 No.2 字符串的学习

来源:互联网 发布:array c语言 编辑:程序博客网 时间:2024/05/18 01:52

字符串简介

  • 字符串是一种重要的数据类型
  • 储存在字符数组中
  • 以NUL字符(’\0’)字符为终止符

库函数 string.h 常用函数

size_t strlen(char const *string);

  • 求string字符串的长度(’\0’不算在内)
  • size_t 表示一个无符号整数类型,定义在头文件stddef.h中
  • 代码看这里

char *strcpy(char *dst, char const *src);

  • 将src复制到dst中
  • 代码看这里

char *strcat(char *dst, char const *src);

  • 将stc连接到dst后面
  • 代码看这里

int strcmp(char const *s1, char const *s2);

  • 对二个字符串逐个比较。
  • s1比s2大,返回 1
  • s1比s2小,返回-1
  • s1等于s2,返回 0
  • 代码看这里

上面三个函数的变型(规定长度)

  • char *strncpy(char *dst, char const *src, size_t len);
    • 从src复制len个字符到dst
    • 不以’\0’为结尾
  • char *strncat(char *dst, char const *src, size_t len);
    • 从src复制len个字符道dst
    • 以’\0’为结尾
  • int strncmp(char const *s1, char const *s2, size_t len);
    • 最后比较len个字符

查找一个字符

  • char *strchr(char const *str, int ch);
    • 返回在str中查找ch第一次出现的位置。
  • char *strrchr(char const *str,int ch);
    • 跟strchr差不多,返回的是最后一次出现的位置。
  • 代码看这里

char *strpbrk(char const *str, char const *group);

  • 查找任意一个在group字符数组的字符在str出现的位置。
  • 代码看这里

char *strstr(char const *s1, char const *s2);

  • 在s1中查找s2出现的位置。
  • 代码看这里

查找一个字符串前缀

  • size_t strspn(char const *str, char const *group);
    • 返回str第一个不为group中任何一个字符前的字符个数
  • size_t strcspn(char const *str, char const *group);
    • 返回str第一个为group中的任何一个字符前的字符个数
  • 代码看这里

char* strtok(char *str, char const *sep);

  • 如果第一个参数为字符串,就会返回从开头到sep数组中任意一个字符的前一个的位置
  • 如果第一个参数为NULL,则会继续上一次的操作。
  • 代码看这里
0 0