strlen(),strcpy(),strncpy(),strcmp(),memcpy(),memncmp()函数

本文详细介绍了C语言中常用的字符串操作函数,包括strcpy()、strlen()、strncpy()、strcmp()和memcpy()的功能及使用方法。通过具体示例展示了如何进行字符串的复制、比较和长度计算等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.strcpy()字符数组拷贝函数。

#include <stdio.h>

#include <string.h>

void main()

{

char ar[10] = {1,2,3,4,5,6,7,8,9};

const int n=sizeof(ar) /sizeof(ar[0]);

char ar1[n] ;

strcpy(ar1,ar);

}

它的拷贝以‘\0’做结束。‘\0’后面的内容不能被拷贝进另一个字符数组。

strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。

2. strlen()字符数组长度计算函数。一‘\0’作为结束。

#include <stdio.h>
#include <string.h>
void main()
{
char ar[10] = {1,2,3,4,'\0',6,7,8,9,10};
const int n=sizeof(ar) / sizeof(ar[0]);
char ar1[n] ;
strcpy(ar1,ar);
int a=strlen(ar);
}

程序运行后,a的值为4,而不是整个10.

3.strncpy(): C语言的库函数之一,来自 C语言标准库,定义于 string.hchar *strncpy(char *dest, const char *src, int n),把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回dest

4.strcmp();是比较两个字符串数组是否相同:

#include <stdio.h>
#include <string.h>
void main()
{
char ar[10] = {1,2,3,4,'\0',6,7,8,9,10};
//const int n=sizeof(ar) / sizeof(ar[0]);
char ar1[8] ;
strcpy(ar1,ar);
int a=strlen(ar);
bool b=strcmp(ar,ar1);
}

5.memcpy()字符串数组拷贝函数;

memcpy则是根据其第3个参数决定复制的长度。

#include <stdio.h>
#include <string.h>
void main()
{
char ar[10] = {1,2,3,4,'\0',6,7,8,9,10};
//const int n=sizeof(ar) / sizeof(ar[0]);
char ar1[8] ;
strcpy(ar1,ar);
int a=strlen(ar);
    int  b=strcmp(ar,ar1);
char ar2[8];
memcpy(ar2,ar,7);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值