字符串操作常用函数
作者:互联网
几种常用的API
输出字符串
puts()printf("%s",p)'
获取字符串
gets() //内存是否合法scanf("%s",p)
计算长度
strlen
初始化
memset //memset( params初始化对象, 初始化成什么字符, 多大)
拷贝
strcpy //strcpy(目标,复制对象)strncpy //拷贝的最大长度 strncpy(目标,复制对象,长度)
拼接
strcat //strcat(一个字符串,需要拼接的另一个字符串)
比较
strcmp //strcmp(需比较的一个字符串,另一个字符串) 一样则为0
int main(){ char *str = "Leoishandsome"; char c = 'i'; char *p = NULL; p = strchr(str, c); if (p == NULL) printf("没有找到"); else puts(p); return 0; }
查找
strchr //strchr(要被检索的字符串, 要搜索的字符)
字符串分割
strstr //strstr(要被检索的字符串, 要搜索的字符)strtok //做字符串分割,strtok(需要分割的字符串,需要分割的类型)
char str[] = "hello,world,leo,heyheyhey";p = strtok(str,",");if (p != NULL){ printf("获取到第一个串p=%s\n",p); }//获取第二个串需要加个NULLp = strtok(NULL,",");printf("获取到第二个串p=%s\n",p);/*获取后面几个串都需要不断添加p = strtok)=(NULL,",");*///改进int i=1;while(){ p = strtok(NULL,","); if (p != NULL) { printf("获取到第%d个字符串p = %s\n",i,p); } else{ printf("没有字符串"); break; } i++;}
转为小写的函数
strlwr //strlwr(目标字符串)
char str[] = "Hello World"; //windows环境下要定义成数组的形态,否则崩溃,Linux下是可以的 purts(strlwr(str));
转为大写的函数
strupr
代码例子
#include #include #include int main(){ char *str = "Leo是个大帅哥哎"; puts(str); //puts()函数里面自带一个换行符'\n',可自动换行 printf("%s\n",str); //printf()则需要自己写一个'\n' char *pstr //野指针,造成非法内存访问,会出现段错误, cmd闪退 pstr = (char *)malloc(128) /* 1.申请了空间 2.一旦用了malloc,一定要注意内存泄漏问题 3.malloc可能会失败,要对返回值进行判断*/ if (pstr == NULL){ printf("申请内存失败"); eixt(-1); } memset(pstr, '\0', 128) //初始化,把每个元素都初始化为;\0' //memset( params初始化对象, 初始化成什么字符, 多大)
标签:常用,函数,strtok,char,str,printf,字符串,NULL 来源: https://blog.51cto.com/u_15249901/2856291