1.分割字符串:strtok()
2.合并字符串:strcat()
3.复制字符串:strcpy()
4.查找字符串:strstr()
5.查找字符串中指定字符:strchr()
1.分割字符串:strtok()
函数原型: char strtok(char s,char *delims)
参数:
- s:表示字符指针,此指针应当指向一串字符串。或者 s 可以等于 NULL,s = NULL则表示用于保存字符串位置的指针SAVE_PRT在下一次调用中将作为起始位置
2.delims:表示分隔符
返回值:当字符串s查找到末尾时,返回NULL。若找不到delims,则返回被分割出的子字符串
如:
include <stdio.h>
int main()
{
char s[] = "abc def ghi";
char *ret = NULL;
char *delims = " ";
ret = strtok(s,delims); //注意:使用完strtok后,字符串s是会发生变化的,实验显示是变为第一次分割的子字符串,所以最好先保存s的值
while(ret !=NULL)
{
printf("%s\n",ret);
ret = strtok(NULL,delims);
}
return 0;
}
打印结果:
abc
def
ghi
2.合并字符串:strcat()
原型:char strcat(char dest, const char *src);
src字符串会合并到dest字符串里。最好dest和src都是字符型数组
返回值:返回合并后的字符串的指针。也即是dest
include <stdio.h>
int main()
{
char dest[]="abcd";
char src[] = "efgh";
strcat(dest,src);
printf("%s\n",dest);
return 0;
}
打印结果:abcdefgh
3.复制字符串:strcpy()
函数原型:char strcpy(char dest, const char *src);
作用:把src的内容复制给dest
返回指向 dest的指针。
手写 strcpy():
char a[] = "abcdef";
char b[20];
int i;
for ( i = 0;a[i] != '\0';i++)
{
b[i] = a[i];
}
b[i] = '\0';
4.查找字符串:strstr()
原型:char * strstr(str1,str2)
str1 为被查字符串
str2为要查找的子字符串
返回值:若 str2 是 str1 的子字符串,而返回str2第一次出现的地址。若str2不是str1的子字符串,返回NULL
应用示例:
int main()
{
char a[] = "hi,hello world.hello";
char b[] = "hello";
char *c;
c = strstr(a,b);
cout << c << endl;
system("pause");
return 0;
}
打印结果:hello world.hello
5.查找字符串中指定字符:strchr()
原型:char strchr(const char s,char c)
s为要检查的字符串,c为要查找的字符
返回值:返回第一次查找到c字符的位置。若c不存在于s中,返回NULL。
应用示例:
int main()
{
char a[] = "hi,hello";
char b = 'e';
char *c;
c = strchr(a,b);
cout << c << endl;
system("pause");
return 0;
}
打印结果:ello
————————————————
原文链接:https://blog.csdn.net/u014453898/article/details/72301828
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询