C 常用字符串函数 (备忘)
字符串长度
size_t strlen(const char *string);
不受限制的字符串函数
char *strcpy(char *dst, const char *src);
char *strcat(char *dst, const char *src);
int strcmp(const char *s1, const char *s2);
长度受限的字符串函数
char *strncpy(char *dst, const char *src, size_t len);
char *strncat(char *dst, const char *src, size_t len);
int strncmp(const char *s1, const char *s2, size_t len);
字符串查找
查找一个字符
char *strchr(const char *str, int ch);
char *strrchr(const char *str, int ch);
查找任何几个字符
char *strpbrk(const char *str, const char *group);
查找一个字串
char *strstr(const char *s1, const char *s2); // 在 s1 中查找 s2 第一次出现的起始位置。
高级字符串查找
查找一个字符串前缀
size_t strspn(const char *str, const char *group);
size_t strcspn(const char *str, const char *group);
查找标记
char *strtok(char *str, const char *sep); more ...
错误信息
char *strerror(int error_number);
字符操作
字符分类
iscntrl 控制字符
isspace 空白字符
isdigit 十进制数字 0-9
isxdigit 十六进制数字 0-9 a-f A-F
islower 小写字母 a-z
isupper 大写字母 A-Z
isalpha 字母 a-z A-Z
isalnum 字母或数字 a-z A-Z 0-9
ispunct 标点符号 (可打印)
isgraph 图像字符
isprint 可打印字符
字符转换
int tolower(int ch);
int toupper(int ch);
内存操作
void *memcpy(void *dst, const void *src, size_t length);
void *memmove(void *dst, const void *src, size_t length);
void *memcmp(const void *a, const void *b, size_t length);
void *memchr(const void *a, int ch, size_t length);
void *memset(void *a, int ch, size_t length);