C语言strlen,strcpy,strcmp,strcat,strstr字符串操作函数实现

C语言提供了一系列用于对字符串进行操作的函数,包括strlen、strcpy、strcmp、strcat、strstr等。下面我将逐一介绍这些函数的使用方法。

strlen函数

strlen函数用来返回一个字符串的长度(不包括末尾的'\0')。其基本形式如下:

#include <string.h>
size_t strlen(const char *s);

其中,s为待计算长度的字符串,返回值是该字符串的长度。

示例:

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

int main() {
    char str[30] = "Hello, world!";
    int len = strlen(str);
    printf("The length of string is %d\n", len);
    return 0;
}

输出结果为:

The length of string is 13

strcpy函数

strcpy函数用于将一个字符串拷贝到另一个字符串中,其基本形式如下:

#include <string.h>
char *strcpy(char *dest, const char *src);

其中,dest为目标字符串,src为待拷贝的字符串,返回值为dest。

示例:

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

int main() {
    char str1[30] = "Hello";
    char str2[20];
    strcpy(str2, str1);
    printf("The copied string is %s\n", str2);
    return 0;
}

输出结果为:

The copied string is Hello

strcmp函数

strcmp函数用于比较两个字符串的大小,其基本形式如下:

#include <string.h>
int strcmp(const char *s1, const char *s2);

其中,s1和s2分别为待比较的两个字符串,返回值为一个整数,如果s1s2,则返回正数;如果s1=s2,则返回0。

示例:

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

int main() {
    char str1[] = "Hello";
    char str2[] = "Hello";
    int result = strcmp(str1, str2);
    if (result == 0) {
        printf("The two strings are the same\n");
    } else {
        printf("The two strings are different\n");
    }
    return 0;
}

输出结果为:

The two strings are the same

strcat函数

strcat函数用于将一个字符串拼接到另一个字符串的末尾,其基本形式如下:

#include <string.h>
char *strcat(char *dest, const char *src);

其中,dest为目标字符串,src为待拼接的字符串,返回值为dest。

示例:

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

int main() {
    char str1[20] = "Hello, ";
    char str2[] = "world!";
    strcat(str1, str2);
    printf("The concatenated string is %s\n", str1);
    return 0;
}

输出结果为:

The concatenated string is Hello, world!

strstr函数

strstr函数用于在一个字符串中搜索指定的子串,其基本形式如下:

#include <string.h>
char *strstr(const char *str1, const char *str2);

其中,str1为待搜索的字符串,str2为待匹配的子串,返回值指向第一次出现str2的位置。如果未找到,返回NULL。

示例:

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

int main() {
    char str1[] = "Hello, world!";
    char str2[] = "world";
    char *result = strstr(str1, str2);
    if (result == NULL) {
        printf("The substring is not found\n");
    } else {
        printf("The substring is found at position %d\n", result - str1 + 1);
    }
    return 0;
}

输出结果为:

The substring is found at position 8

以上就是C语言字符串操作函数的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言strlen,strcpy,strcmp,strcat,strstr字符串操作函数实现 - Python技术站

(0)
上一篇 2023年6月20日
下一篇 2023年6月20日

相关文章

  • vue cli3 配置 stylus全局变量的使用方式

    Vue CLI3 配置 Stylus 全局变量的使用方式攻略 在 Vue CLI3 中,可以使用 Stylus 预处理器来编写样式。为了方便管理和使用全局变量,我们可以配置 Stylus,使其支持全局变量的定义和使用。下面是详细的攻略: 步骤一:安装依赖 首先,确保已经安装了 Vue CLI3。然后,在项目根目录下打开终端,执行以下命令安装 stylus 和…

    other 2023年7月29日
    00
  • 关于VS2022不能使用的解决方案(万能头文件)

    首先,需要了解使用头文件的背景和原理。这个头文件是GCC编译器自带的一个头文件,包含了STL的所有内容,使用起来非常方便,但是在其他编译器中可能会出现问题。而VS2022属于微软公司的C++编译器,不支持此头文件。 那么如何解决这个问题呢? 一、使用STL标准头文件代替 可以使用STL标准头文件来代替头文件,例如: #include <iostream…

    other 2023年6月27日
    00
  • PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)

    下面是详细的PHP常用字符串操作函数实例总结: 1. trim函数 trim函数可以去除字符串开头和结尾的空格、制表符、换行符等空白字符。这个函数的语法如下: trim($str, $charlist); 其中,$str表示要处理的字符串,$charlist表示要去除的字符列表,如果没有指定,则会去除默认的空白字符。 示例1:去除字符串开头和结尾的空格 $s…

    other 2023年6月20日
    00
  • 解决python递归函数及递归次数受到限制的问题

    解决 Python 递归函数及递归次数受到限制的问题有两种方法,分别为手动设置递归深度和使用尾递归。 手动设置递归深度 Python 中的默认递归深度为 1000,所以如果超出了默认深度时就会抛出递归异常。我们可以使用 sys 模块来手动设置递归深度。 import sys sys.setrecursionlimit(3000) # 修改递归深度为 3000…

    other 2023年6月27日
    00
  • 使用sxssfworkbook导出excel简例

    在Java中,使用SXSSFWorkbook类可以方便地导出Excel文件。以下是使用SXSSFWorkbook导出Excel文件的完整攻略: 1. 导入依赖 在使用SXSSFWorkbook导出Excel前,需要在项目中导入以下依赖: <dependency> <groupId>org.apache.poi</groupId&…

    other 2023年5月8日
    00
  • Win11系统Windows更新疑难解答出现问题解决方法

    Win11系统Windows更新疑难解答出现问题解决方法 1. 检查网络连接和更新设置 在Win11系统中,处理Windows更新问题必须要先检查电脑的网络连接和更新设置,这通常是出现问题的主要原因。请按照以下步骤进行操作: 点击“开始”按钮,并在搜索栏中键入“设置”。 打开“更新与安全”设置,并确保无线网络连接正常。 在“更新与安全”设置中,点击“Wind…

    other 2023年6月27日
    00
  • 使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法

    使用C语言可以通过递归和非递归两种方法实现字符串反转函数char reverse(char str)。 递归方法实现字符串反转函数 递归是一种自我调用的算法,对于字符串反转函数,可以先将字符串前后两个字符交换,然后将剩下的子串再次递归调用,直至字符串为空或者只有一个字符时结束递归。以下是递归实现字符串反转函数的代码(注:需要注意字符串最后一个字符是结束符\0…

    other 2023年6月27日
    00
  • Java实现单链表SingleLinkedList增删改查及反转 逆序等

    Java实现单链表SingleLinkedList增删改查及反转 逆序等 简介 单链表是数据结构中常见的一种,它是由一系列节点(Node)构成的链式结构,每个节点包含两部分:数据部分和指针部分,数据部分用于存储节点的数据,指针部分用于指向下一个节点。单链表的头节点指向第一个有效节点,最后一个节点的指针指向NULL。 SingleLinkedList类 我们首…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部