C语言标准库中提供了一系列用于操作字符串的函数,这些函数主要包括在<string.h>
头文件中。以下是一些常用的字符串操作函数:
- strlen(const char *str): 计算字符串的长度,不包括空字符(‘\0’)。
- strcpy(char *dest, const char *src): 将源字符串(src)复制到目标字符串(dest)。
- strncpy(char *dest, const char *src, size_t n): 将源字符串(src)的前n个字符复制到目标字符串(dest)。
- strcat(char *dest, const char *src): 将源字符串(src)追加到目标字符串(dest)的末尾。
- strncat(char *dest, const char *src, size_t n): 将源字符串(src)的前n个字符追加到目标字符串(dest)的末尾。
- strcmp(const char *str1, const char *str2): 比较两个字符串,如果相等返回0,如果str1小于str2返回负数,如果str1大于str2返回正数。
- strncmp(const char *str1, const char *str2, size_t n): 比较两个字符串的前n个字符。
- strchr(const char *str, int c): 在字符串(str)中查找字符(c)的第一个出现位置,如果未找到则返回NULL。
- strrchr(const char *str, int c): 在字符串(str)中查找字符(c)的最后一个出现位置,如果未找到则返回NULL。
- strstr(const char *haystack, const char *needle): 在字符串(haystack)中查找子字符串(needle)的第一个出现位置,如果未找到则返回NULL。
- strtok(char *str, const char *delim): 分割字符串(str),使用指定的分隔符(delim)。
- strspn(const char *str1, const char *str2): 计算字符串(str1)开头连续包含字符串(str2)中字符的长度。
- strcspn(const char *str1, const char *str2): 计算字符串(str1)开头连续不包含字符串(str2)中字符的长度。
- strpbrk(const char *str1, const char *str2): 在字符串(str1)中查找字符串(str2)中任意字符的第一个出现位置,如果未找到则返回NULL。
注意:在使用这些字符串操作函数时,请确保正确处理字符串的内存分配和边界条件,以避免潜在的安全问题,如缓冲区溢出。