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初始化对象,?初始化成什么字符,?多大)? ? ? ? ? ? ? ?
原文:https://blog.51cto.com/u_15249901/2856291