【手册】字符串函数

mem

void *memset(void *dest, int c, size_t count);
  • 将dest前面count个字符置为字符c。返回dest的值。
void *memmove(void *dest, const void *src, size_t count);
  • 从src复制count字节的字符到dest;如若出现“重叠”,先将src复制到缓冲区,再进行move。返回dest的值。
    • char str[] = “memmove can be very useful……”;
      memmove (str+20,str+15,11);
      此时str为:memmove can be very very useful.
      memmove()重叠实例. From: c.biancheng.net
void *memcpy(void *dest, const void *src, size_t count);
  • 从src复制count字节的字符到dest;不进行“重叠”处理。返回dest的值。
void *memchr(const void *buf, int c, size_t count);
  • 在buf前面的count字节中查找首次出现字符c的位置。查找成功则返回buf中出现c的位置指针,否则返回NULL。
void *_memccpy(void *dest, const void *src, int c, size_t count);
  • 从src复制到dest,遇到字符c被复制/count个字符被复制后停止。若c被复制,返回src中c后一个字符指针,否则返回NULL。
int memcmp(const void *buf1, const void *buf2, size_t count);
  • buf1
int memicmp(const void *buf1, const void *buf2, size_t count);
  • 不区分大小写,比较buf1、buf2大小。

str

size_t strlen(const char *string);
  • 不包括NULL的字符串string大小。
 char *strrev(char *string);
  • 翻转字符串string
char *_strupr(char *string);
  • 将string小写变大写。
char *_strlwr(char *string);
  • 将string大写变小写
char *strchr(const char *string, int c);
  • 查找string中c的位置。
char *strrchr(const char *string, int c);
  • 反序查找string中c的位置。
char *strstr(const char *string, const char *strSearch);
  • 在string中查找strSearch子串。
char *strdup(const char *string);
  • 先malloc新空间,再复制string。
char *strcat(char *dest, const char *src);
  • 将src添加到dest串后面,不能处理“重叠”。
char *strncat(char *dest, const char *src, size_t count);
  • 将src的count个字节添加到dest串后面,count大于src长度时忽略,不能处理“重叠”。
char *strcpy(char *dest, const char *src);
  • 将src复制到dest,不能处理“重叠”。
char *strncpy(char *dest, const char *src, size_t count);
  • 将src的count个字节复制到dest,count大于src长度时用NULL填充,不能处理“重叠”。
char *strset(char *dest, int c);
  • 将dest的所有字符置为c。
char *strnset(char *dest, int c, size_t count);
  • 将dest的count个字符置为c。
size_t strspn(const char *dest, const char *set);
  • 查找dest中首个不在字符集set中的字符,返回该字符之前的字符数。
size_t strcspn(const char *dest, const char *set);
  • 查找dest中首个在字符集set中的字符,返回该字符之前的字符数。
char *strspnp(const char *dest, const char *set);
  • 查找dest中首个不在字符集set中的字符,返回该字符的指针。
char *strpbrk(const char *dest, const char *set);
  • 查找dest中首个在字符集set中的字符,返回该字符的指针。
char *strtok(char *token, const char *delim);
  • 将token在字符集delim中的字符置为’\0’,每次调用返回下一个非0字符指针。
    • char s[] = "ab-cd:ef;gh:i-jkl;mnop;qrs-tu:vwx-y;z";
      char *delim = "-:"
      char *p;
      printf("%s\n", strtok(s, delim));
      while((p = strtok(NULL, delim)))
      printf("%s\n", p);

      输出:
      ab
      cd
      ef;gh
      i
      jkl;mnop;qrs
      tu
      vwx
      y;z
int strcmp(const char *str1, const char *str2);
int stricmp(const char *str1, const char *str2);
int strncmp(const char *str1, const char *str2, size_t count);
int strnicmp(const char *str1, const char *str2, size_t count);
  • 比较字符串大小。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值