热门 购物 团购 理财 文学 人才 体育 汽车 游戏 软件 军事 音乐 视频 媒体 论坛 博客 银行 交友 综合
一起购 唯品会 梦芭莎 趣玩网 凡客诚品 麦考林 乐淘鞋网 弗克尚品 绿盒子 俏物悄语 新蛋网 当当网 玛萨玛索
拉手网 糯米网 爱帮团 聚划算 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 :
'组合查询之核心:拼接字符串 '功能:定义查询条件,定义返回集,定义排序方式 '平台:Windows 2000 Server + IIS5.0 + SQL Server 2000 '语言:VBScript '作者:Cheery_Ke '***********Start************ '********…  Details
/** * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解 * * 模块: strtolwer.c * 简述: 将字符串…  Details
本文以及另外两篇相关文章解释 Windows Sockets 编程方面的一些问题。本文介绍转换字符串。其他问题在 Windows Sockets:阻塞和 Windows Sockets:字节排序中介绍。如果使用 CAsyncSocket 类或从其派生…  Details
在较旧版本的odbc驱动程序下,使用第(1)种连接字符串,没有出现该错误。升级odbc驱动程序后(升级了sql server 7.0的sp2),出现“无法指出的错误”(第一次访问不出错,刷新后出错),…  Details
<%@ 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
<%   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
<script language=JavaScript RUNAT=SERVER> // 利用正则表达式把用URLEncode的字符串转换成正常的字符串函数 function URLDecode(EncodeString) { var lsRegExp = /+/g; return unescape(String(EncodeString).replace(lsRegExp, …  Details
Public Function CheckBIG(strSource As String) As Boolean Dim idx As Long Dim ByteTemp() As Byte CheckBIG = False For idx = 1 To Len(strSource) ByteTemp = StrConv(Mid(strSource, idx, 1), vbFromUnicode) If UBound(ByteTemp) > 0 Then…  Details
/** * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解 * * 模块: strcut.c * 简述: 获取字符串…  Details
暴雪公司的字符串hash算法打造最快的Hash表(暴雪用的MPQ文件)  最近在网上看到篇文章,一起拜一拜暴雪先提一个简单的问题,如果有一个庞大的字符串数组,然后给你一…  Details