【C语⾔】string.h中的常⽤函数1.strlen
函数名:strlen
功能:求得字符串的长度
说明:strlen(str)为字符串str的长度
实例:
#include<stdio.h>
#include<string.h>
int main()
{
char str[]="I love Study";
printf("%d\n",strlen(str));//输出结果为 12
return0;
}
2.strcpy
函数名:strcpy
功 能:将⼀个字符串赋值给另⼀个字符串
说明:strcpy(str1,str2)表⽰将str2赋值给str1
实例:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[]="I love Study";
char str2[15];
strcpy(str2,str1);
printf("%s\n",str2);//输出结果为 I love Study
c++中string的用法return0;
}
3.strncpy
函数名:strncpy
功能:将⼀个字符串的前⼀部分字符赋给另⼀字符串
说明:strncpy(str1,str2,len)
表⽰将str2的前len个字符赋给str1
实例:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[]="I Love Study";
char str2[20];
strncpy(str2,str1,6);
printf("%s\n",str2);
//输出结果为I Love
return0;
}
4.strcmp
函数名:strcmp
功能:⽐较两个字符串的⼤⼩,按ASCII值⼤⼩相⽐较
说明:strcmp(str1,str2) 前者⼤则值为1,相同则为0,后者⼤则为-1
实例:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[]="I love Acm";
char str2[]="I LOVE ACM";
if(!strcmp(str1,str2))
printf("they are equal\n");
else if(strcmp(str1,str2)==1)
printf("str1 is greater than str2\n");
else
printf("str1 is lower than str2\n");
//输出结果为 str1 is greater than str2
return0;
}
5.stricmp
函数名:stricmp
功能:⽐较两个字符串忽略⼤⼩写后的⼤⼩
说明:stricmp(str1,str2),前者⼤则值为1,相同则为0,后者⼤则为-1
实例:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[]="I love Study";
char str2[]="I LOVE STUDY";
if(!stricmp(str1,str2))
printf("they are equal\n");
else if(stricmp(str1,str2)==1)
printf("str1 is greater than str2\n");
else
printf("str1 is lower than str2\n");
//输出结果为 they are equal
return0;
}
6.strcat
函数名:strcat
功能:将两个字符串合为⼀
说明:strcat(str1, str2)把str1(包括“\0”)复制到str2后⾯(删除str2原来末尾的“\0”)实例:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[20]="I love";
char str2[]="Study";
strcat(str1," ");
strcat(str1,str2);
printf("%s\n",str1);
//str1和str2所指内存区域不可以重叠且str1必须有⾜够的空间来容纳str2的字符串。
return0;
}
7.strchr
函数名:strchr
功能:查询某个字符在某字符串中⾸次出现的位置
说明:strchr(str,’c’)表⽰’c’字符在str⾸次出现的位置
实例:
#include<stdio.h>
#include<string.h>
int main()
{
char str[]="I love Study";
printf("%d\n",strchr(str,'o')-str);//输出结果为3 为'o'对应的下标
return0;
}
8.strnset
函数名:strnset
功能:将⼀个字符串前n个字符都设为指定字符
说明:strnset(str,’x’,n)表⽰将字符串str的前n个字符变成’x’
实例:
#include<stdio.h>
#include<string.h>
int main()
{
char str[]="I love Study";
/*注意不能写 char *str = "I love Study"然后调⽤strnset函数
因为这⾥的str指向的常量区"I love Acm"的地址是不能再被更改指向内容的*/
strnset(str,'x',6);
printf("%s\n",str);
//输出结果为 xxxxxx Study
return0;
}
9.strtod
函数名:strtod
功能:将字符串转化为浮点数
说明:strtod(str,&endptr)将字符串str转化成浮点数并将因条件不合导致结束的指针由endptr传回实例:
/*strtod()会扫描参数nptr字符串,跳过前⾯的空格字符,直到遇上数字或正负符号才开始做转换,到出现⾮数字或字符串结束时('\0')才结束转换,并将结果返回。
若endptr不为NULL,则会将遇到不合条件⽽终⽌的nptr中的字符指针由endptr传回。
参数nptr字符串可包含正负号、⼩数点或E(e)来表⽰指数部分。如123.456或123e-2。 */
#include<stdio.h>
#include<string.h>
int main()
{
char*endptr;
char a[]="12345.6789";
char b[]="1234.567qwer";
char c[]="-232.23e4";
printf("a=%lf\n",strtod(a,NULL));
printf("b=%lf\n",strtod(b,&endptr));
printf("endptr=%s\n",endptr);
printf("c=%lf\n",strtod(c,NULL));
/*输出结果为
a=12345.678900
b=1234.567000
endptr=qwer
c=-2322300.000000 */
return0;
}
10.strupr
函数名:strupr
功能:将字符串中⼩写字母变成⼤写字母
说明:strupr(str)表⽰指向⼩写字母变⼤写字母后的str的指针
实例:
/*strtod()会扫描参数nptr字符串,跳过前⾯的空格字符,直到遇上数字或正负符号
才开始做转换,到出现⾮数字或字符串结束时('\0')才结束转换,并将结果返回。
若endptr不为NULL,则会将遇到不合条件⽽终⽌的nptr中的字符指针由endptr传回。
参数nptr字符串可包含正负号、⼩数点或E(e)来表⽰指数部分。如123.456或123e-2。 */
#include<stdio.h>
#include<string.h>
int main()
{
char str1[]="abcdefg";
printf("%s\n",strupr(str1));
//输出结果为 ABCDEFG
return0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论