c语言常用的字符串函数简介概括
c语言常用的字符串函数
1、字符串的长度计算
size_t strlen(const char * s);
strlen("hello")返回5。
功能是计算字符串的长度
2、字符串复制
char *strcpy(char*dest,const char *str);
char *strncpy(char *dest, const char *src, size_t n);
strcat
:将src追加到dest的末尾(覆盖dest的\0)。
strncat
:最多追加n个字符,确保dest以\0结尾。
3、字符串连接
char *strcat(char *dest, const char *src);
char *strncat(char *dest, const char *src, size_t n);
strcat
:将src追加到dest的末尾(覆盖dest的\0)。
strncat
:最多追加n个字符,确保dest以\0结尾。
4、字符串比较
int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);
strcmp:按字典序比较s1和s2,返回值:
<0:s1 < s2
0:s1 == s2
> 0:s1 > s2
strncmp
:比较前n个字符。
5、字符串查找
char *strchr(const char *s, int c); // 查找字符首次出现位置
char *strrchr(const char *s, int c); // 查找字符最后一次出现位置
char *strstr(const char *haystack, const char *needle); // 查找子串
char *strtok(char *str, const char *delim); // 字符串分割
6、其他的一些常用函数
int atoi(const char *str); // 字符串转整数(`stdlib.h`)
long atol(const char *str); // 字符串转长整数
double atof(const char *str); // 字符串转双精度浮点数
char *strerror(int errnum); // 获取错误码对应的错误信息
void *memset(void *s, int c, size_t n); // 内存填充(可用于初始化字符串)
7、安全版本函数
为避免缓冲区溢出,C11标准引入了安全版本(非标准但安全)
char *strcpy_s(char *dest, rsize_t destsz, const char *src);
char *strcat_s(char *dest, rsize_t destsz, const char *src);
示例:
#include <stdio.h>
#include <string.h>int main() {char src[] = "hello";char dest[20];// 复制字符串strcpy(dest, src);printf("复制后: %s\n", dest);// 连接字符串strcat(dest, " world");printf("连接后: %s\n", dest);// 比较字符串printf("比较结果: %d\n", strcmp(dest, "hello world"));// 查找子串printf("子串位置: %s\n", strstr(dest, "world"));return 0;
}
这些函数均在<string.h>头文件中声明(除atoi等在<stdlib.h>中),使用时需包含相应头文件。