所在头文件:#include "string.h"
例
#include
#include
int main(void)
{
char s0[10] = {'A','\0','B','\0','C'};
char s1[] = "\t\v\\\0will\n";
char s2[] = "\x69\141\n";
printf("%ld\t%ld\t%ld\n",strlen(s0),strlen(s1),strlen(s2));
return 0;
}
运行结果:
1 3 3
#include
#include
int main(void)
{
char src[10] = "hello world";
char dest[20];
strcpy(dest,src);
puts(src);
puts(dest);
return 0;
}
运行结果:
hello world
hello world
#include
#include
int main(void)
{
char src[50] = "hello world";
char dest[20] = "你好世界";
strcat(src,dest);
puts(src);
return 0;
}
运行结果:
hello world你好世界
#include
#include
int main(void)
{
char s0[20] = "hello world";
char s1[20] = "hello world!";
char s2[20] = "hello";
char s3[20] = "hello world";
printf("%d\n",strcmp(s0,s1));
printf("%d\n",strcmp(s0,s2));
printf("%d\n",strcmp(s0,s3));
return 0;
}
运行结果:
-33
32
0
例strncpy(p.p1,n)
#include
#include
int main(void)
{
char s0[20] = "hello world";
char s1[20] = "china";
strncpy(s1,s0,4);
puts(s0);
puts(s1);
return 0;
}
运行结果:
hello world
hella
例strchr(p,c)
#include
#include
int main(void)
{
char ch = 'l';
char s0[] = "hello world";
printf("%p,%p\n",s0,strchr(s0,ch));//strnchr函数返回值是查找的字符串中第一次出现字符的地址
printf("%p,%p\n",s0,strrchr(s0,ch));//strnchr函数返回值是查找的字符串中第一次出现字符的地址
printf("%ld\n",strchr(s0,ch)-s0);//strnchr函数返回值是查找的字符串中第一次出现字符的下标
printf("%ld\n",strrchr(s0,ch)-s0);//strnchr函数返回值是查找的字符串中最后一次出现字符的下标
return 0;
}
运行结果:程序运行环境为linux环境
0x7ffc59d1c95c,0x7ffc59d1c95e
0x7ffc59d1c95c,0x7ffc59d1c965
2
9
例strstr(p,p1)
#include
#include
int main(void)
{
char str0[]= "good morning";
char str1[] = "morning";
/*在字符串str0中查找str1字符串并返回str1字符串在str0中出现的位置*/
printf("%ld\n",strstr(str0,tr1)-str0);
return 0;
}
运行结果:
5
这些函数需要包含#include
例:
#include
#include
#include
int main(void)
{
int ch;
puts("请输入字母或十以内的数字!按*键退出\n");
while((ch = getchar()) != EOF)
{
if(ch == '*')
{ break;
}
if(isalpha(ch))
{
if(isupper(ch))
{
puts("是大写字母!");
putchar(ch);
putchar('\n');
}
else
{
puts("是小写字母!");
putchar(ch);
putchar('\n');
}
}
else
{
if(isdigit(ch))
{
puts("是数字!");
printf("%c\n",ch);
}
}
}
return 0;
}
运行结果:
输入数字时判别为输入的是数字,输入大写字母时判别为是大写字母,输入小写字母时判别为是小写字母,当输入字符'*'时退出循环。