目录
一、字符串处理函数
1、测量字符串的长度 strlen
2、字符串拷贝函数 strcpy/strncpy(拷贝前n个字符)
3、字符串追加函数strcat/strncat
4、字符串比较函数strcmp
5、字符查找函数strchr/strrchr
6、字符串查找strstr
7、字符串替换函数memset
8、字符串 切割 strtok
二、字符串转数值
1、函数实现
2、代码实现编辑
以str开头的函数 都是字符串操作函数 都是遇到'\0'结束操作
头文件:#include
用法:size_t strlen(const char *s);//const只读
s是需要测量字符串的首元素地址,'\0'不会被测量
举例:
char str[100]="hello world";
strlen(str) == 11;
拷贝 src指向的字符串到dest指针指向的内存中,遇到'\0’结束并且拷贝,返回值为目的内存地址。
用法:char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, size_t n);
dest:目的空间地址
src:原字符串的首元素地址
举例:
用法:char *strcat(char *dest, const char *src);
char *strncat(char *dest, const char *src, size_t n);
将src指向的字符串 追加到 dest指向的字符串尾部
举例:
用法:int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);
逐一比较字符ASCII码值。
返回值:
>0 字符串s1 > 字符串s2
<0 字符串s1 < 字符串s2
==0 字符串s1 == 字符串s2
举例:
用法:char *strchr(const char *s, int c);//从前往后查
char *strrchr(const char *s, int c);//从后往前查
strchr返回值为从前往后找 第一次出现字符c的地址,若没找到,则返回NULL
用法:char *strstr(const char *haystack, const char *needle);
返回值:找到返回找到的地址 失败 返回NULL
用法:void *memset(void *str, int c, size_t n)
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
该值返回一个指向存储区 str 的指针。
案例:将world替换为$$$$$
用法:char *strtok(char *str, const char *delim);
第一次切割:str必须指向待切割的字符串的首元素地址 delim指向分割符”|“
后续切割:str传NULL delim指向分割符"|"
返回值: 成功:返回值子串的首元素地址
失败:返回NULL
切割方式1:
#include
#include
void test()
{
char str[] = "aaaa|bbbb|cccc|dddd";
int i = 0;
char *buf[30];//存放字串首元素地址
buf[i]=strtok(str, "|");//第一次存
while (buf[i] != NULL)
{
i++;
buf[i] = strtok(NULL, "|");//后续存
}
//遍历切割完后的字串
for (int j = 0; j < i; i++)
{
printf("%s\n", buf[i]);
}
}
切割方式2:
char str[] = "aaaa|bbbb|cccc|dddd";
int i = 0;
//buf[0] = str
char* buf[30] = {str};//存放子串首元素地址
//后续切
int i = 0;
while (1)
{
buf[i] = strtok(str[i], "|");
if (buf[i] == NULL)
break;
i++;
}
简化切割方式:
char str[] = "aaaa|bbbb|cccc|dddd";
//buf[0] = str
char* buf[30] = {str};//存放子串首元素地址
//后续切
int i = 0;
while ((buf[i] = strtok(buf[i], "|")) && (++i));
头文件:#include
atoi将数值字符串 转成 int类型
atol将数值字符串 转成 long类型
atof将数值字符串 转成 float类型