C语言字符串基本函数

C语言字符串基本函数

1.字符串长度函数 strlen()

头文件:string.h

函数原型:

size_t strlen(const char* str);

功能:strlen() 函数从字符串的开头位置依次向后计数,直到遇见\0,然后返回计时器的值。最终统计的字符串长度不包括\0

参数 str 表示要求长度的字符串。

返回值:字符串 str 的长度。

示例如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char a[7]="hello!";
	printf("%d",strlen(a));
}

结果如下:
在这里插入图片描述
2.字符串复制函数 strcpy() strncpy()

2.1.strcpy()

头文件:string.h

语法/原型:

char* strcpy(char* strDestination, const char* strSource);

参数说明:

strDestination:目的字符串。

strSource:源字符串。

strcpy() 会把 strSource 指向的字符串复制到 strDestination

必须保证 strDestination 足够大,能够容纳下 strSource,否则会导致溢出错误。

返回值:目的字符串,也即 strDestination

示例如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char a[7]="hello!";
	char b[8]="world!";
	strcpy(a,b);
	printf("%s",a);
}

结果如下:
在这里插入图片描述
2.2 strncpy()

头文件:string.h

语法/原型:

char *strncpy(char *dest, char *src, int n);

参数说明:

dest:目的字符串。

src:源字符串。

n:从左到右取src的n个字符

strncpy() 会把 src 指向的字符串中的n个字符复制到 dest

示例如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char a[7]="hello!";
	char b[8]="world!";
	strncpy(a,b,2);
	printf("%s",a);
}

结果如下:
在这里插入图片描述

3.字符串比较函数 strcmp()

功能:C语言 strcmp() 函数用于对两个字符串进行比较(区分大小写)。

头文件:string.h

函数原型:

int strcmp(const char* stri1,const char* str2);

参数 str1str2 是参与比较的两个字符串。

strcmp() 会根据 ASCII 编码依次比较 str1str2 的每一个字符,直到出现不到的字符,或者到达字符串末尾(遇见\0)。

返回值:

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str2 小于 str1。
  • 如果返回值 = 0,则表示 str1 等于 str2。

示例如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[7]="hello!";
	char str2[8]="world!";
	char str3[8]="hello!";
	printf("%d\n",strcmp(str1,str2));
	printf("%d\n",strcmp(str2,str1));
	printf("%d",strcmp(str1,str3));
	
}

结果如下:
在这里插入图片描述
4.字符串取子串 strstr()

功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。

头文件:string.h

函数原型:extern char *strstr(char *str1, char *str2);

返回值:返回该位置的指针,如找不到,返回空指针。

示例如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char a[8]="world"; 
	char b[10]=".jpg"; 
	char c[10]=".jpg"; 
	char *d,*e; 
    d = strstr(b,a);
    e = strstr(b,c);
	printf("%s",d);
	printf("\n");
	printf("%s",e);
	return 0;
}

结果如下:
在这里插入图片描述
5.大小写转换 strlwr() strupr()

5.1 strlwr()

头文件:string.h

功能:strlwr()用于将字符串中的字符转换为小写

函数原型:

char *strlwr(char *str);

返回值:返回转换后的小写字符串,其实就是将str返回。

示例如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char a[18]="HELLO WORLD!"; 
	strlwr(a);
	printf("%s",a);
	return 0;
}

结果如下:
在这里插入图片描述

5.2 strupr()

头文件:string.h

功能:strupr()用于将字符串中的字符转换为大写
函数原型:

char *strupr(char *str);

返回值:返回转换后的大写字符串,其实就是将str返回。

示例如下:

#include<stdio.h>
#include<string.h>
int main()
{
	char a[18]="HELLO WORLD!"; 
	strupr(a);
	printf("%s",a);
	return 0;
}

结果如下:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大菜彩

家人们鼓励鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值