C标准库<string.h>-str、strn开头的函数

news2024/11/23 0:33:06

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

函数功能

strcat 函数用于将一个字符串追加到另一个字符串的尾部。

参数解释

  • dest:指向目标字符串的指针,这个字符串的尾部将被追加 src 字符串的内容。
  • src:指向源字符串的指针,其内容将被追加到 dest 字符串的尾部。

返回值

  • 返回指向目标字符串 dest 的指针。

函数实现

函数用法

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

int main() {
    char dest[50] = "Hello,";
    const char *src = "World!";

    // 将src追加到dest的尾部
    strcat(dest, src);

    printf("Concatenated String: '%s'\n", dest);

    return 0;
}
Concatenated String: 'Hello, World!'

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

函数功能

strncat 函数用于将一个字符串的一部分追加到另一个字符串的尾部,最多追加指定的字符数。

参数解释

  • dest:指向目标字符串的指针,这个字符串的尾部将被追加 src 字符串的内容。
  • src:指向源字符串的指针,其内容将被追加到 dest 字符串的尾部。
  • n:最大的字符追加数,包括空字符。

返回值

  • 返回指向目标字符串 dest 的指针。

函数实现

函数用法

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

int main() {
    char dest[50] = "Hello, ";
    char *src = "World! This is a test.";

    // 将src的前14个字符追加到dest的尾部
    strncat(dest, src, 14);

    printf("Concatenated String: '%s'\n", dest);

    return 0;
}
Concatenated String: 'Hello, World! This is'
请按任意键继续. . .

char *strchr(const char *str, int c) 

函数功能

strchr 函数用于在一个字符串中查找第一次出现的指定字符。

参数解释

  • str:指向要搜索的字符串的指针。
  • c:要搜索的字符(以整数形式给出)。

返回值

  • 如果找到了字符 c,则返回指向找到的第一个匹配字符的指针。
  • 如果没有找到,则返回 NULL

函数实现

函数用法

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

int main() {
    char *str = "Hello, World!";
    int c = 'W';

    // 使用 strchr 查找字符 'W'
    char *result = strchr(str, c);

    if (result) {
        printf("Character '%c' found at position: %ld\n", c, result - str + 1);
    } else {
        printf("Character '%c' not found.\n", c);
    }

    return 0;
}
Character 'W' found at position: 8
请按任意键继续. . .

int strcmp(const char *str1, const char *str2)

函数功能

strcmp 函数用于比较两个字符串,并根据比较结果返回一个整数

参数解释

  • str1:指向第一个要比较的字符串的指针。
  • str2:指向第二个要比较的字符串的指针。

返回值

  • 如果 str1 小于 str2,则返回负整数。
  • 如果 str1 等于 str2,则返回 0
  • 如果 str1 大于 str2,则返回正整数。

函数实现

函数用法

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

int main() {
    const char *str1 = "Hello";
    const char *str2 = "Hell";
    const char *str3 = "Hello";

    int result1 = strcmp(str1, str2);
    int result2 = strcmp(str1, str3);

    if (result1 < 0) {
        printf("'%s' is less than '%s'\n", str1, str2);
    } else if (result1 > 0) {
        printf("'%s' is greater than '%s'\n", str1, str2);
    } else {
        printf("'%s' is equal to '%s'\n", str1, str2);
    }

    if (result2 < 0) {
        printf("'%s' is less than '%s'\n", str1, str3);
    } else if (result2 > 0) {
        printf("'%s' is greater than '%s'\n", str1, str3);
    } else {
        printf("'%s' is equal to '%s'\n", str1, str3);
    }

    return 0;
}
'Hello' is greater than 'Hell'
'Hello' is equal to 'Hello'
请按任意键继续. . .

下面的程序,和上面的程序有一点点不同,结果也不一样。 

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

int main() {
    const char *str1 = "Healo";
    const char *str2 = "Hell";
    const char *str3 = "Hello";

    int result1 = strcmp(str1, str2);
    int result2 = strcmp(str1, str3);

    if (result1 < 0) {
        printf("'%s' is less than '%s'\n", str1, str2);
    } else if (result1 > 0) {
        printf("'%s' is greater than '%s'\n", str1, str2);
    } else {
        printf("'%s' is equal to '%s'\n", str1, str2);
    }

    if (result2 < 0) {
        printf("'%s' is less than '%s'\n", str1, str3);
    } else if (result2 > 0) {
        printf("'%s' is greater than '%s'\n", str1, str3);
    } else {
        printf("'%s' is equal to '%s'\n", str1, str3);
    }

    return 0;
}
'Healo' is less than 'Hell'
'Healo' is less than 'Hello'
请按任意键继续. . .

函数功能

参数解释

返回值

函数实现

函数用法

函数功能

参数解释

返回值

函数实现

函数用法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2164554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最精简的VScode Verilog RTL开发环境搭建教程

【2024-9月更新】最精简的VScode Verilog RTL开发环境搭建教程 文章目录 【2024-9月更新】最精简的VScode Verilog RTL开发环境搭建教程一、官网下载VScode二、登录账号同步三、安装配置拓展插件1.Verilog-HDL/systemVerilog拓展2.安装Universal Ctags● Windows系统安装univer…

(附源码) Springboot 飞速物流管理平台78584

摘要 受疫情的影响&#xff0c;很多城市处于静默的状态&#xff0c;导致店铺很多店铺都处于关闭的状态&#xff0c;给商家带来了极大的损失&#xff0c;很多商家为了减少损失都通过线上进行销售&#xff0c;比如直播、微商等&#xff1b;同时对于消费者来说&#xff0c;网上购买…

【Redis】分布式锁之 Redission

一、基于setnx实现的分布式锁问题 重入问题&#xff1a;获得锁的线程应能再次进入相同锁的代码块&#xff0c;可重入锁能防止死锁。例如在HashTable中&#xff0c;方法用synchronized修饰&#xff0c;若在一个方法内调用另一个方法&#xff0c;不可重入会导致死锁。而synchroni…

mysql练习题使用的表

dept(部门表):部门编号&#xff0c;部门名字&#xff0c;部门地点 salgrode工资等级表&#xff1a;等级&#xff0c;最高工资&#xff0c;最低工资 emp表&#xff1a;员工编号&#xff0c;员工名字&#xff0c;工作&#xff0c;领导编号MGR&#xff0c;入职时间&#xff0c;工…

Spring Boot 整合MyBatis-Plus 实现多层次树结构的异步加载功能

文章目录 1&#xff0c;前言2&#xff0c;什么是多层次树结构&#xff1f;3&#xff0c;异步加载的意义4&#xff0c;技术选型与实现思路5&#xff0c;具体案例5.1&#xff0c;项目结构5.2&#xff0c;项目配置&#xff08;pom.xml&#xff09;5.3&#xff0c;配置文件&#xf…

c++难点核心笔记(二)

系列文章目录 c难点&核心笔记(一) 继续接着上一章记录的重点内容包括函数&#xff0c;类和对象&#xff0c;指针和引用&#xff0c;C对象模型和this指针等内容&#xff0c;继续给大家分享&#xff01;&#xff01; 文章目录 系列文章目录友元全局函数做友元类做友元成员函…

国庆节怎么利用PHP发送文字短信

国庆节作为中国重要的法定节假日之一&#xff0c;不仅是全民欢庆的时刻&#xff0c;也是商家们进行促销活动的黄金时期。发送营销短信成为许多商家吸引顾客、提高销量的重要手段。 支持免费对接试用乐讯通PaaS平台 找好用的短信平台,选择乐讯通,短信群发|短信平台|群发短信软件…

分布式事务(1)

1.分布式事务 首先我们看看项目中的下单业务整体流程&#xff1a; 由于订单、购物车、商品分别在三个不同的微服务&#xff0c;而每个微服务都有自己独立的数据库&#xff0c;因此下单过程中就会跨多个数据库完成业务。而每个微服务都会执行自己的本地事务&#xff1a; 交易服…

Python办公自动化教程(002):PDF的拆分与合并

1、PyPDF2 介绍 介绍&#xff1a; PyPDF2是一个用于处理PDF文件的Python库&#xff0c;它提供了丰富的功能来读取、编辑、合并、拆分PDF文档&#xff0c;以及提取文本、图像和其他内容。 功能&#xff1a; 读取PDF&#xff1a;PyPDF2可以轻松地打开和读取PDF文件&#xff0c;获…

pytorch 神经网络模型 2D+3D 可视化,这个工具库够猛!

生信碱移 torch模块可视化 小编近期冲浪的时候发现一个torch模型架构可视化的神级python库VisualTorch&#xff0c;给各位铁子分享一下doge。 VisualTorch旨在帮助可视化基于Torch的神经网络架构&#xff0c;似乎是今年才上传到github上。它目前支持为PyTorch的Sequential和Cu…

jQuery——jQuery的2把利器

1、jQuery 核心函数 ① 简称&#xff1a;jQuery 函数&#xff0c;即为 $ 或者 jQuery ② jQuery 库向外直接暴露的是 $ 或者 jQuery ③ 引入 jQuery 库后&#xff0c;直接使用 $ 即可 当函数用&#xff1a;$&#xff08;xxx&#xff09; 当对象用&#xff1a;$.xxx&#x…

华为官宣,不支持安卓应用的纯血鸿蒙终于来了

华为前不久与苹果新品发布会撞车的全球首款量产三折叠屏幕手机 Mate XT&#xff0c;本以为已是其下半年狠活儿担当。 但直到看完昨天下午的华为秋季全场景发布会才发现&#xff0c;好家伙&#xff0c;此前那都叫小打小闹&#xff0c;原来大招全搁在后头呢&#xff01; 这场近两…

蒙语学习快速方法,速记蒙语单词怎么学习更高效!

要高效学习蒙古语和速记单词&#xff0c;首先要掌握基础知识&#xff0c;如字母表和发音规则。接着&#xff0c;专注于学习日常用语和基础词汇&#xff0c;并运用记忆技巧如联想、发音和构词法来帮助记忆。利用专门的学习软件&#xff0c;如“蒙语学习通”&#xff0c;可以提供…

进程间通信 (一)【管道通信(上)】

目录 1. 概况2. 管道通信的原理2.1 初步理解2.2 深入理解 1. 概况 是什么&#xff1a;两个及以上的进程实现数据层面的交互&#xff0c;称为进程间的通信。 因为进程独立性的存在&#xff0c;所以一个进程无法直接访问另一个进程的数据&#xff0c;即便是父子进程&#xff0c;子…

数字IC设计\FPGA 职位经典笔试面试整理--基础篇2

1. 卡诺图 逻辑函数表达式可以使用其最小项相加来表示&#xff0c;用所有的最小项可以转换为卡诺图进行逻辑项化简 卡诺图讲解资料1 卡诺图讲解资料2 卡诺图讲解资料3 最小项的定义 一个函数的某个乘积项包含了函数的全部变量&#xff0c;其中每个变量都以原变量或反变量的形…

从传统到智能:低代码平台在生产型企业中的应用实践

在全球数字化浪潮的推动下&#xff0c;生产型企业正面临前所未有的变革压力。为了在激烈的市场竞争中保持竞争力&#xff0c;企业迫切需要通过技术手段实现业务流程的优化和创新。然而&#xff0c;传统的软件开发方式往往耗时耗力&#xff0c;难以快速响应市场需求。低代码平台…

一些依赖库的交叉编译步骤

交叉编译链版本&#xff1a;12.3.0 一、curl-7.43.0库交叉编译 libcurl是一个跨平台的网络协议库&#xff0c;支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权&#xff0c;HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传&a…

Django学习实战篇六(适合略有基础的新手小白学习)(从0开发项目)

前言&#xff1a; 上一章中&#xff0c;我们完成了页面样式的配置&#xff0c;让之前简陋的页面变得漂亮了些。 整理一下目前已经完成的系统&#xff0c;从界面上看&#xff0c;已经完成了以下页面: 首页分类列表页标签列表页口博文详情页 这离我们的需求还有些距离&#xff0…

哪款手机软件适合记事?记事本软件推荐

在这个信息爆炸的时代&#xff0c;手机已经成为我们生活中不可或缺的一部分。它不仅携带方便&#xff0c;而且功能强大&#xff0c;几乎可以完成我们日常所需的所有任务。随着生活节奏的加快&#xff0c;人们越来越需要一个可靠的工具来帮助自己记录重要信息和工作事项。这时候…

德勤校招网申笔试综合能力测试SHL题库与面试真题攻略

德勤的综合能力测试&#xff08;General Ability&#xff09;是其校园招聘在线测评的关键环节&#xff0c;旨在评估应聘者的多项认知能力。以下是对这部分内容的全面整合&#xff1a; 综合能力测试&#xff08;General Ability&#xff09; 测试时长为46分钟&#xff0c;包含…