c语言 字符串操作函数

字符串操作函数

1.strlen()函数

strlen()函数用于计算字符串的长度,返回字符串的字符数。

语法:

size_t strlen(const char *str)

参数:

  • str – 要计算长度的字符串。

返回值:

  • 字符串的字符数。

示例:

#include <stdio.h>
#include <string.h>

int main ()
{
   
   char str[50]="hello world";
   len = strlen(str);
   printf("|%s| 的长度是 |%d|\n", str, len);
   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果:

|hello world| 的长度是 |11|

长度为11,因为它包含了11个字符。

自实现

int myStrlen(const char * str)
{
   
    int len = 0;
    while(*str++)
    len++;
    return len;
}

2.strcpy()函数

strcpy()函数用于复制一个字符串到另一个字符串。

语法:

char *strcpy(char *dest, const char *src)

参数:

  • dest – 目标字符串。
  • src – 源字符串。

返回值:

  • 目标字符串。

示例:

#include <stdio.h>
#include <string.h>

int main ()
{
     char str1[50];
   char str2[50]="hello";
   strcpy(str1, str2);
   printf("|%s| 复制到 |%s|\n", str1, str2);
   return 0;
}

输出:

|hello| 复制到 |hello|

自实现

char *myStrcpy(char *dst, const char * src)
{
   
    char *d = dst;
    while(*dst++ = *src++);
    return d;
}

3.strncpy()函数

函数 char *strncpy(char *dest, const char *src, size_t n)
把 src 所指向的字符串复制到 dest,最多复制 n 个字符。
当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。

语法:

char *strncpy(char *dest, const char *src, size_t n)

参数:

  • dest – 目标字符串。
  • src – 源字符串。
  • n – 要复制的字符数。

返回值:

  • 目标字符串。
  • 如果 n 为 0,则返回 NULL。

示例:

#include <stdio.h>
#include <string.h>

int main ()
{
     char str1[50];
   char str2[50]="hello world";
   strncpy(str1, str2, 5);
   printf("|%s| --- |%s|\n", str1, str2);
   return 0;
}

输出:

|hello| --- |hello world|

自实现

char *myStrncpy(char *dst, const char *src, int n)
{
   
    char *d = dst;
    while(n-- && (*dst++ = *src++));
    while(n-- > 0)
        *dst++ = '\0';
    return d;
}

4.strcat()函数

函数 char *strcat(char *dest, const char *src)
把 src 所指向的字符串追加到 dest 后面。

语法:

char *strcat(char *dest, const char *src)

参数:

  • dest – 目标字符串。
  • src – 源字符串。

返回值:

  • 目标字符串。

示例:

#include <stdio.h>
#include <string.h>

int main ()
{
     
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

可能只会写BUG

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值