strrchr实现方式之一

strrchr

char *ho_strrchr(const char *s, int c) {
    const char *p; 
    unsigned char cc = c;

    for (p = s; *p; p++);

    while (s <= p) {
        if (*p == cc) 
            return (char *)p;
        p--;
    }   
    return NULL;
}

int main() {
    printf("%s\n", ho_strrchr("123456789", ‘1‘));
    printf("%s\n", ho_strrchr("123456789", ‘2‘));
    printf("%s\n", ho_strrchr("123456789", ‘3‘));
    printf("%s\n", ho_strrchr("123456789", ‘9‘));
    printf("%s\n", ho_strrchr("123456789", ‘a‘));
    printf("%s\n", ho_strrchr("123123", ‘1‘));
    return 0;
}
时间: 2024-08-03 05:36:59

strrchr实现方式之一的相关文章

ThinkPHP Http工具类(用于远程采集 远程下载) phpSimpleHtmlDom采集类库_Jquery筛选方式 使用phpQuery轻松采集网页内容

[php]代码库 view sourceprint? <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK IT ] // +---------------------------------------------------------------------- // | Copyright (c) 200

strchr()函数 和 strrchr() 函数

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

require.js+backbone 使用r.js 来压缩,本地不压缩,生产环境压缩 的实现方式

requie.js 和backbone.js 这里就不说了,可以去看官方文档,都很详细! 但是使用require.js 默认带的压缩方式感觉不是很方便,所以本文主要讲 利用r.js压缩,来实现本地不压缩,生产环境压缩 r.js 是运行在node上的,默认使用UglifyJS.UglifyJS真的很好用,那为什么说默认的方式 不是很方便呢? r.js 单独压缩一个文件也很好用的,但在实际项目中,总不能一个一个压吧!因此r.js提供了一种多文件的压缩方式 ,使用一个叫bulid.js 的配置文件来配

PHP获取文件扩展名的五种方式

这是我应聘实习时遇到的一道笔试题: 使用五种以上方式获取一个文件的扩展名. 要求:dir/upload.image.jpg,找出 .jpg 或者 jpg , 必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name), get_ext2($file_name) 下面是我参考网上资料总结出来的五种方法,都比较简单,话不多说,直接上代码: 方法1: function getExt1($filename) { $arr = explode('

require.js+backbone 使用r.js 在本地与生产环境 一键压缩的实现方式

requie.js 和backbone.js 这里就不说了,能够去看官方文档,都非常具体! 可是使用require.js 默认带的压缩方式感觉不是非常方便,所以本文主要讲 利用r.js压缩,来实现本地不压缩,生产环境压缩 r.js 是执行在node上的,默认使用UglifyJS.UglifyJS真的非常好用,那为什么说默认的方式 不是非常方便呢? r.js 单独压缩一个文件也非常好用的,但在实际项目中.总不能一个一个压吧!因此r.js提供了一种多文件的压缩方式 ,使用一个叫bulid.js 的配

PHP实现伪静态化页面的具体实现方式

大家也许对PHP伪静态页面还比较陌生,今天我们就向大家具体讲解PHP实现伪静态化页面的具体代码,让大家对对PHP伪静态有一个更加深入的了解. PHP实现伪静态化页面方法一: 在你的程序初始化时使用如下代码: <?php $Php2Html_FileUrl = $_SERVER["REQUEST_URI"]; $Php2Html_UrlString = str_replace("/", "", strrchr($Php2Html_FileUr

angularJs中关于ng-class的三种使用方式说明

在开发中我们通常会遇到一种需求:一个元素在不同的状态需要展现不同的样子. 而在这所谓的样子当然就是改变其css的属性,而实现能动态的改变其属性值,必然只能是更换其class属性 这里有三种方法: 第一种:通过数据的双向绑定(不推荐) 第二种:通过对象数组 第三种:通过key/value 下面简单说下这三种: 第一种:通过数据的双向绑定 实现方式: function changeClass(){   $scope.className = "change2"; } <div clas

配置resin web方式部署项目

写在前面,推荐下载resin4.0.47版本.其它版本没有测试 最近打算做一个小项目,然后容器选用了resin.想通过web提交war文件的方式 进行部署,更新代码也方便. 试了resin最新的版本(目前最新版本为4.0.53),提交war文件到webapps下面都是.tmp文件.百度google一通还是没找到解决办法. 看了下公司用的resin版本,选择4.0.47.下载后发现没最新版本的上传问题. 通过web提交war文件方式步骤如下: 步骤一:修改resin.properties.推荐配置

(转)web会话管理方式

阅读目录 1. 基于server端session的管理 2. cookie-based的管理方式 3. token-based的管理方式 4. 安全问题 5. 总结 http是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的.当然它知道是哪个客户端地址发过来的,但是对于我们的应用来说,我们是靠用户来管理,而不是靠客户端.所以对我们的应用而言,它是需要有状态管理的,以便服务端能够准确的知道http请求是哪个用户发起的,从而判断他是否有权限继续这个请求.这