C语言 strchr()函数

当要在一个字符串中查找某个字符的位置时,可以使用C语言中的strchr()函数。下面是strchr()函数的完整使用攻略。

函数原型

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

在参数str所指向的字符串中搜索第一次出现字符c的位置。如果成功找到指定的字符,该函数返回指向该字符的指针;否则返回NULL。

参数说明

  • str:要查找的字符串。
  • c:要查找的字符,可以用整数值或者字符常量表示(例如'c')。

示例

示例1:查找字符串中第一个出现的字符

下面是一个例子,演示了如何使用strchr()函数来查找字符串中第一个出现的字符,并输出该字符在字符串中的位置。

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

int main() {
    char str[] = "Hello, world!";
    char *ptr = strchr(str, 'o');
    if (ptr != NULL) {
        printf("The first occurrence of 'o' is at position %ld.\n", ptr - str);
    } else {
        printf("The character 'o' is not found.\n");
    }
    return 0;
}

输出结果:

The first occurrence of 'o' is at position 4.

在上面的代码中,我们将字符串"Hello, world!"赋值给了变量str,然后使用strchr()函数查找字符'o'在该字符串中第一次出现的位置,并将返回值赋值给了指针ptr。如果找到了字符'o',则计算出该字符在字符串中的位置,即ptr指针减去str指针的值,并将结果输出;否则输出“The character 'o' is not found.”。

示例2:在字符串中查询子字符串

下面是另一个例子,演示了如何使用strchr()函数来查找一个字符串中是否包含另一个字符串,并输出该子字符串在字符串中的位置。

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

int main() {
    char str[] = "This is a sentence.";
    char *sub = "is";
    char *ptr = strstr(str, sub);
    if (ptr != NULL) {
        printf("The string '%s' is found at position %ld.\n", sub, ptr - str);
    } else {
        printf("The string '%s' is not found.\n", sub);
    }
    return 0;
}

输出结果:

The string 'is' is found at position 2.

在上面的代码中,我们将字符串"This is a sentence."赋值给了变量str,然后使用strstr()函数查找子字符串“is”的位置,并将返回值赋值给了指针ptr。如果找到了子字符串,则计算出该子字符串在字符串中的位置,即ptr指针减去str指针的值,并将结果输出;否则输出“The string 'is' is not found.”。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言 strchr()函数 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月9日

相关文章

  • 基于C语言实现井字棋游戏

    基于C语言实现井字棋游戏攻略 1. 游戏规则 井字棋游戏是经典的两人对战游戏,游戏规则如下: 游戏棋盘大小为3×3的方格; 游戏开始时,棋盘为空,一方执X棋子,另一方执O棋子; 玩家轮流下棋,每次只能下一个棋子,只能下在空格上; 下棋的玩家若在一个横排、竖排或对角线上连续下满三个自己的棋子,则游戏结束,其为胜者; 若棋盘填满且没有任何连续三个相同的棋子,则游…

    C 2023年5月23日
    00
  • excel2json软件使用方法(Excel表快速转换成JSON字符串)

    下面为您详细讲解“excel2json软件使用方法”: 简介 excel2json是一款免费开源的轻量级工具,可以将Excel表格快速转换成JSON字符串格式,让开发者们更加便捷地使用表格数据。 下载安装 首先,在excel2json的官网上下载最新的可执行文件。 下载完毕后,解压缩文件并将excel2json.exe程序文件放置到您的电脑合适的位置。此时,…

    C 2023年5月23日
    00
  • C程序读取键盘码的方法

    C程序要想读取键盘码有以下几种方法: 使用getc()函数读取单个字符 可以使用stdlib.h库中的getc()函数来读取单个字符。 int getc(FILE *stream); 这个函数可以从指定的流中读取下一个字符,可以从键盘输入流stdin中读取字符。 示例1:下面这个程序可以读取用户从键盘输入的字符,并将其输出到屏幕上。 #include &lt…

    C 2023年5月23日
    00
  • 菜鸟记录:c语言实现PAT甲级1004–Counting Leaves

        好消息:与上题的Emergency是同样的方法。坏消息:又错了&&c++真的比c方便太多太多。 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child.…

    C语言 2023年4月17日
    00
  • C语言循环队列的表示与实现实例详解

    C语言循环队列的表示与实现实例详解 循环队列是一种基于数组实现的队列结构,特点是队列空间的循环利用。当队列的队尾到达数组末尾时,其将循环跳回头部,队首始终处于数组的第一个位置。C语言中的循环队列的表示与实现有以下两个关键点: 1.如何判断循环队列为空? 2.如何判断循环队列已满? 在这篇文章中,将会详细讲解以上两个问题的解决方法。 循环队列的基本概念 循环队…

    C 2023年5月23日
    00
  • 首个 64 位 Windows 2000 系统的测试版本被发现

    首个 64 位 Windows 2000 系统的测试版本被发现攻略 背景介绍 Windows 2000是由微软公司发布的一款操作系统,它的核心采用了Windows NT技术,支持32位和64位处理器。此次发现的首个64位Windows 2000系统测试版本可以让人们更深入地了解Windows 2000的内部结构和设计。 攻略过程 寻找测试版本 首先,需要去寻…

    C 2023年5月23日
    00
  • C语言学习之关键字的示例详解

    C语言学习之关键字的示例详解 什么是关键字? 在C语言中,关键字是指被编程语言所保留的具有特殊含义的标识符。这些关键字不能被用作变量名或其他标识符的名称,因为它们在编译器中与特定的语法规则绑定。 C语言有32个关键字,其中31个是保留关键字,一个是特殊标识符(即: main())。让我们详细了解这些关键字。 1. auto auto 用于声明局部变量。如果在…

    C 2023年5月24日
    00
  • C#/.Net开发chatGPT、openAI的简单步骤

    C#/.Net开发chatGPT、openAI的简单步骤: 在介绍开发chatGPT、openAI之前,我们需要先了解什么是chatGPT、openAI。 chatGPT是一种语言模型,可以被用于生成自然语言文本。它的原理是基于神经网络技术,通过学习大量的语言文本,建立一个预测模型,用于生成和上下文相关的自然语言文本。openAI则是一种人工智能编程平台,该…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部