C语言中的memchr函数是一个字符串函数,它查找字符的第一次出现,并返回指向它的指针。此函数使用其第三个参数来限制搜索。memchr的基本语法如下所示。
void *memchr(const void *str, int c, size_t n);
- str:一个有效的字符串
- c:您想在str中搜索的值
- n:您想在搜索对象str中搜索的字符数。
C语言memchr示例
memchr函数用于在用户指定的字符串中进行搜索。此程序将帮助您通过多个示例来理解memchr。
在使用此memchr字符串函数之前,您必须包含 #include <string.h> 头文件。
#include <stdio.h>
#include<string.h>
int main()
{
char str[] = "C Programming Language";
char ch = 'L';
char *result;
char *result2;
result = memchr(str, ch, strlen(str));
printf("\n The Final one From %c = %s", ch, result);
result2 = memchr("Tutorial Gateway", 'G', strlen(str));
printf("\n The Final one From %c = %s", ch, result2);
return 0;
}
The Final one From L = Language
The Final one From L = Gateway
C语言memchr示例2
此程序允许用户输入他们的字符串和他们想查找的字符。接下来,它将使用C编程中的memchr函数,从使用指定字符开始返回字符串的一部分。
#include <stdio.h>
#include<string.h>
int main()
{
char str[40];
char ch;
char *result;
printf("\n Please Enter any String : ");
gets(str);
printf("\n Please Enter any Charcater that you want to search for : ");
scanf("%c", &ch);
result = memchr(str, ch, strlen(str));
printf("\n The Final String From %c = %s", ch, result);
return 0;
}

这次我们将查找不存在的字符
Please Enter any String : Tutorial Gateway
Please Enter any Charcater that you want to search for : m
The Final String From m = (null)
尽管给定的字符存在于字符串中,但它返回的是NULL。这是因为我们将搜索限制在前5个字符内,而G不存在于前五个字符中。result = memchar(str, ch, 5)
Please Enter any String : Tutorial Gateway
Please Enter any Charcater that you want to search for : G
The Final String From G = (null)