热门 购物 团购 理财 文学 人才 体育 汽车 游戏 软件 军事 音乐 视频 媒体 论坛 博客 银行 交友 综合
一起购 唯品会 梦芭莎 趣玩网 凡客诚品 麦考林 乐淘鞋网 弗克尚品 绿盒子 俏物悄语 新蛋网 当当网 玛萨玛索
拉手网 糯米网 爱帮团 聚划算 58团购 美团网 QQ团购 大众点评团 窝窝团 美淘网 满座网 团宝网 饭统饭团
起点网 榕树下 小说阅读 潇湘书院 红袖添香 幻剑书盟 新浪游戏 太平洋游戏 163邮箱 中国游戏 游戏中国 霏凡软件 铁血军事
访问本站赠送红包啦!凡在支付宝搜索数字口令 528131323 都将获得红包,天天搜索此口令天天得红包^_^
Health Sitology Family Finance Appliances Shopping Clothing Education Legal Rituals Beauty Property Travel Pet Medical Cyclopedia History Military Computers Sports Job Anecdote Geographic Mixed Entertain Literature Emotion Agriculture
/**
 * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权
 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解
 *
 * 模块: strcut.c
 * 简述: 获取字符串的子串 获取字符串的子串
 * 作者: woods zhang  ->  hoojar@163.com -> http://www.hecart.com/
 * 版权: 2006-2018, 张树林 拥有此源码所有版权 (MIT许可协议)
 * Copyright 2006-2018, Woods Zhang All Rights Reserved (The MIT License)
 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/**
 * 获取字符串的子串
 *
 * @param haystack 原始字符串
 * @param start 如果是正数则从开始位置截取,如果是负数,返回的字符串将从haystack结尾处向前数第start个字符开始
 * @param length 如果是正数返回的字符串将从start处开始最多包括length个字符,如果是负数删除length个字符
 * @param outstr 输出字符串
 * @return 输出字符串
 */
char *substr(char *haystack, int start, int length, char *outstr)
{
    if (haystack == NULL)
    {
        return haystack;
    }

    int cut_len = length;
    int haystack_len = strlen(haystack);

    /*如果开始位置小于0则从后取*/
    if (start < 0)
    {
        start = haystack_len + start;
    }

    /*判断截取长度是否过界,过界则截取总长度-开始位置*/
    if (length <= 0 || length + start > haystack_len)
    {
        cut_len = haystack_len - start;
    }

    strncpy(outstr, &haystack[start], cut_len);
    cut_len = (length < 0) ? cut_len + length : cut_len;
    outstr[cut_len] = '';

    return outstr;
}

/**
 * 获取字符串的子串
 *
 * @param haystack 原始字符串
 * @param start 如果是正数则从开始位置截取,如果是负数,返回的字符串将从haystack结尾处向前数第start个字符开始
 * @param length 如果是正数返回的字符串将从start处开始最多包括length个字符,如果是负数删除length个字符
 * @return 裁切haystack字符串输出
 */
char *strcut(char *haystack, int start, int length)
{
    if (haystack == NULL)
    {
        return haystack;
    }

    int cut_len = length;
    int haystack_len = strlen(haystack);

    /*如果开始位置小于0则从后取*/
    if (start < 0)
    {
        start = haystack_len + start;
    }

    /*判断截取长度是否过界,过界则截取总长度-开始位置*/
    if (length <= 0 || length + start > haystack_len)
    {
        cut_len = haystack_len - start;
    }

    strncpy(haystack, &haystack[start], cut_len);
    cut_len = (length < 0) ? cut_len + length : cut_len;
    haystack[cut_len] = '';

    return haystack;
}

int main(void)
{
    char needle[] = "name";
    char haystack[] = "my name is zhang woods";
    printf("strpos position is:%s ", substr(haystack, 0, -5, haystack));
    printf("strpos position is:%s ", strcut(haystack, -5, -2));

    return 0;
}
Reply content :
Photo link :
<%@ LANGUAGE = "VBScript" ENABLESESSIONSTATE = False %> <% '1. Selecting the numbers from a string: myString = "2, 4, 6, 8, 10, 12" aValues = Split(myString, ",", -1, 1) Function Min(someNum…  Details
/** * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解 * * 模块: strrpos.c * 简述: 查找字符串…  Details
暴雪公司的字符串hash算法打造最快的Hash表(暴雪用的MPQ文件)  最近在网上看到篇文章,一起拜一拜暴雪先提一个简单的问题,如果有一个庞大的字符串数组,然后给你一…  Details
Formats passed string based on length. Perfect for emails and text files. --------------------------------------------------------------------------------------- <% ' Company: Sabra Inc ' Author: Dave Hoffenberg ' Date: 10/5/00 ' Function: …  Details
本文以及另外两篇相关文章解释 Windows Sockets 编程方面的一些问题。本文介绍转换字符串。其他问题在 Windows Sockets:阻塞和 Windows Sockets:字节排序中介绍。如果使用 CAsyncSocket 类或从其派生…  Details
/** * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解 * * 模块: trim.c * 简述: 去除字符串的…  Details
再用用程序时,一般需要对php版本号整数化后进行判断,从而确定输出。 <?php $wtemp=explode(".",phpversion()); //以数组形式获取版本号 $wnum=count($wtemp); //计算数组中的元素数…  Details
有两个字符串运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后。更多信息见赋值运算符…  Details
'组合查询之核心:拼接字符串 '功能:定义查询条件,定义返回集,定义排序方式 '平台:Windows 2000 Server + IIS5.0 + SQL Server 2000 '语言:VBScript '作者:Cheery_Ke '***********Start************ '********…  Details
<%   rem 检查sql字符串中是否有单引号,有则进行转化   function CheckStr(str)   dim tstr,l,i,ch   l=len(str)   for i=1 to l   ch=mid(str,i,1)   if ch="'" then  tstr=tstr+"'&qu…  Details