strchr()函数 和 strrchr() 函数

strchr

定义于头文件 <string.h>
char *strchr( const char *str, int ch );
寻找ch(按照如同(char)ch的方式转换成char后)在str所指向的空终止字节字符串(每个字符都被看做unsigned char)中的首次出现位置。终止的空字符被认为是字符串的一部分,并且能在寻找‘\0‘时被找到。
若str不是指向空终止字节字符串的指针,则行为未定义。
参数
str - 指向待分析的空终止字节字符串的指针
ch - 要查找的字符
返回值
指向str找到的字符的指针,在未找到该字符时返回空指针。
示例

/* strchr example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  printf ("Looking for the ‘s‘ character in \"%s\"...\n",str);
  pch=strchr(str,‘s‘);
  while (pch!=NULL)
  {
    printf ("found at %d\n",pch-str+1);
    pch=strchr(pch+1,‘s‘);
  }
  return 0;
}/*Looking for the ‘s‘ character in "This is a sample string"... found at 4 found at 7 found at 11 found at 18*/

strrchr 

定义于头文件 <string.h>
const char *strrchr( const char *str, int ch );
char *strrchr( char *str, int ch );
找到最后一次出现的字符ch中的字节串所指向的str.

参数
str - NULL结尾的字节串的指针来进行分析

ch - 搜索字符

返回值
str,或NULL找到的字符的指针,如果没有这样的字符被找到

示例

/* strrchr example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  pch=strrchr(str,‘s‘);
  printf ("Last occurence of ‘s‘ found at %d \n",pch-str+1);
  return 0;
}
/*Last occurence of ‘s‘ found at 18 */

  

时间: 2024-12-28 20:24:01

strchr()函数 和 strrchr() 函数的相关文章

strrchr()函数

strrchr()函数:strrchr()函数的作用是:    查找一个字符串在另一个字符串中 末次 出现的位置,并返回从字符串中的这个位置起,一直到字符串结束的所有字符:    如果未能找到指定字符,那么函数将返回False. char *strrchr(   char *str,   int c );strrchr() 函数的分析 函数原型:extern char * strrchr (const char *s, int c) 参数说明:s为一个字符串的指针,c为一个待查找字符.     

strchr,wcschr 及strrchr, wcsrchr,_tcschr,_tcsrchr函数

       strchr,wcschr 及strrchr, wcsrchr,_tcschr,_tcsrchr函数 (1) char *strchr( const char *string, int c );wchar_t *wcschr( const wchar_t *string, wchar_t c );Find a character in a string.查找一个字符串中首次出现的指定字符.Return Value Each of these functions returns a

【C语言】自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置

//自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置 #include <stdio.h> #include <string.h> char * my_strrchr(char const *str,int ch) { int count=0; while(*str!='\0') { count++; str++; } str--; while(count) { if(*str!=ch) { str--; count--; } else retu

字符串处理函数(新函数)

由于字符串的应用广泛,为方便用户对字符串的处理,C语言函数库中除了前面用到的库函数gets()与puts()之外,还提供了另外一些常用的库函数,其函数原型说明在string中.下面介绍一些最常用的字符串库函数. 1.函数名:strcpy 用法:strcpy(s1,s2) 功能:将s2复制到s1 2.函数名:strcat 用法:strcat(s1,s2) 功能:连接s2到s1的末尾,切s1后面的'\0'被取消 3.函数名:strlen 用法:strlen(s1,s2) 功能:返回s1的长度(不包含

async(await)函数和 Generator 函数 区别

async 函数是 Generator 函数的语法糖. async 函数对 Generator 函数的改进体现在: 1. async 内置执行器. Generator 函数的执行必须靠执行器,需要调用 next() 方法,或者用co 模块:而 async 函数自带执行器.也就是说,async 函数的执行与普通函数一模一样,只要一行. 2. 更好的语义. async 和 await 比起星号和 yield,语义更清楚. 3.更广的适用性. co 模块约定,yield 命令后面只能是 Thunk 函

Python-lambda函数,map函数,filter函数

lambda函数主要理解: lambda 参数:操作(参数). lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值.lambda语句构建的其实是一个函数对象 map函数: map(function_to_apply, list_of_inputs).map函数可以把list_of_inputs内的对象依次输入到function_to_apply中进行操作. filter函数: filter(function_to_apply, list_of_inputs).Filter

C#委托与C语言函数指针及函数指针数组

C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用的时候通过指针访问这个函数. 在C语言中函数指针的申明如下: //可以理解为申明一个指着变量 Func ,它的类型是 返回Type(可以为 void )类型的参数,接收 (Type one,Type two,...)类型的//参数(可以不接受参数). Type *Func(Type one,Type

oracle listagg函数、lag函数、lead函数 实例

Oracle大师Thomas Kyte在他的经典著作中,反复强调过一个实现需求方案选取顺序: “如果你可以使用一句SQL解决的需求,就使用一句SQL:如果不可以,就考虑PL/SQL是否可以:如果PL/SQL实现不了,就考虑Java存储过程是否可以:如果这些都不可能实现,那么就需要考虑你是否真的需要实现这个需求.” 各个关系型DBMS产品都在遵守关系型数据库模型的基本体系架构,遵循通用的SQL国际规范.同时,为了更好地配合自身数据库实现的特征,以及提供更加丰富的功能,各个DBMS纷纷在标准SQL上

JS杂谈系列-函数知识、函数模式

函数,函数,function,function,go go go! 创建函数: 第一种:function aa(){alert(1)}; 第二种:var aa=function(){alert(1)}; 其实对于使用没有太大的区别,第一个是用函数关键字创建,第二个是创建变量,然后赋值为一个函数. 同样我们还可以创建匿名函数 function(){alert(1)}; 函数的里面可以传递参数arg function aa(arg){alert(arg)}; function aa(arg1,arg