当前位置: 首页 > article >正文

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

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.kler.cn/news/319452.html

相关文章:

  • 力扣 438找到字符串中所有字母异位词
  • 2024 Snap 新款ar眼镜介绍
  • SDKMAN!关联已安装JDK
  • neo4j:ubuntu环境下的安装与使用
  • 胤娲科技:DeepMind的FermiNet——带你穿越“薛定谔的早餐桌”
  • uniapp 中uni.showModal添加输入框
  • 828华为云征文|华为云Flexus云服务器X实例部署immich相片管理系统
  • 接口自动化测试框架实战(Pytest+Allure+Excel)
  • unity CustomEditor的基本使用
  • vue3-vben-admin开发记录、知识点
  • 【多线程】面试高频考点!JUC常见类的详细总结,建议收藏!
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-24
  • 小孩真的需要手机上学吗?怎样远程了解他在学校用iPhone干什么?
  • 代码随想录 | Day24 | 二叉树:二叉树的公共祖先(有个自己的想法)二叉搜索树的公共祖先
  • Fyne ( go跨平台GUI )中文文档-小部件 (五)
  • VisualPromptGFSS
  • 【C++ Primer Plus习题】17.7
  • GEO数据库提取疾病样本和正常样本|GEO数据库区分疾病和正常样本|直接用|生物信息|生信
  • 使用宝塔部署项目在win上
  • MySQL数据库脚本转化成sqlite数据库脚本的修改点
  • 动态规划day38|322. 零钱兑换(背包满了吗?最小值怎么表示?)、279. 完全平方数、139. 单词拆分、多重背包要点、背包问题大总结
  • 網路本地連接沒有有效的IP配置:原因與解決方法
  • 匈牙利算法详解与实现
  • 【Tomcat】常见面试题整理 共34题
  • 跨站请求伪造(CSRF)漏洞详解
  • 【MySQL】知识总结——索引的类型分类和性质
  • 2023国赛C题 蔬菜类商品的自动定价与补货决策(上)
  • Spring Boot 中实现动态列导入讲解和案例示范
  • element plus上传文件 点击确认后文件上传到接口
  • Java项目实战II基于Java+Spring Boot+MySQL的车辆管理系统(开发文档+源码+数据库)