热门 购物 团购 理财 文学 人才 体育 汽车 游戏 软件 军事 音乐 视频 媒体 论坛 博客 银行 交友 综合
一起购 唯品会 梦芭莎 趣玩网 凡客诚品 麦考林 乐淘鞋网 弗克尚品 绿盒子 俏物悄语 新蛋网 当当网 玛萨玛索
拉手网 糯米网 爱帮团 聚划算 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
/**
 * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权
 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解
 *
 * 模块: strdel.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>
#include <ctype.h>

/**
 * 根据指定位置插入字符串
 *
 * @param haystack 原始字符串
 * @param pstr 要插入的字符串
 * @param pos 要插入的位置
 * @return 插入成功后的字符串
 */
char *str_insert(char *haystack, char *pstr, int pos)
{
    char *ret = haystack;
    if (haystack != NULL && pstr != NULL)
    {
        int i, n;
        int len = strlen(haystack);
        int nlen = strlen(pstr);
        for (i = len - 1; i >= pos; --i)
        {
            *(haystack + i + nlen) = *(haystack + i);
        }

        for (n = 0; n < nlen; n++)
        {
            *(haystack + pos + n) = *pstr++;
        }

        *(haystack + len + nlen) = 0;
    }

    return ret;
}

/**
 * 根据指定位置删除字符串
 *
 * @param haystack 原始字符串
 * @param spos 开始位置
 * @param epos 结束位置
 * @return 删除后的字符串
 */
char *str_delete(char *haystack, int spos, int epos)
{
    if (haystack == NULL)
    {
        return haystack;
    }

    int len = strlen(haystack);
    if (spos < len)
    {
        epos = (epos <= len) ? epos : len;
        memmove(haystack + spos, haystack + epos, len - epos);
        haystack[len - (epos - spos)] = 0;
    }

    return haystack;
}

/**
 * 搜索字符串并删除搜索到的内容(最长搜索100个字节)
 *
 * @param haystack 原始字符串
 * @param rstr 要删除的字符串内容
 * @return 删除后的字符串
 */
char *str_remove(char *haystack, const char *rstr)
{
    if (haystack == NULL)
    {
        return haystack;
    }

    char *p = haystack, *q, *c, d[100];
    unsigned long n = strlen(rstr);
    while (1)
    {
        q = strstr(p, rstr);
        if (q == NULL)
        {
            break;
        }

        c = q + n;
        *q = '';
        strcpy(d, c);
        p = strcat(p, d);
    }

    return haystack;
}

int main(void)
{
    char haystack[] = "my name is woods zhang";
    printf("str_insert:%s ", str_insert(haystack, " zhang ", 11));
    printf("str_remove:%s ", str_remove(haystack, " zhang "));
    printf("str_delete:%s ", str_delete(haystack, 11, 17));
    return 0;
}
Reply content :
Photo link :
10.4.3 #FIXED最后,可能想提供一个不允许作者更改的属性缺省值。例如,希望为在内部网上张贴文档的人员的AUTHOR元素指定一个同等的COMPANY标识属性。方法如下:<AUTHOR NAME= "Elliotte Rusty …  Details
In the file that you wish to show up in the frame, add this line after the <BODY> tag: <BASE TARGET="framename">Then when you Response.Redirect to this ASP file, its contents will appear in the frame named "framename"…  Details
新浪汽车讯 6月2日,奇瑞“东方之子”将成为各国政界要员和商业精英于青岛参加第三届APEC中小企业技术交流暨展览会的坐骑,共商亚洲经济发展大计。 2004年第三届APEC中小企业技…  Details
<% Function GetPage(url) dim Retrieval Set Retrieval = CreateObject("Microsoft.XMLHTTP") With Retrieval .Open "Get", url, False ', "", "" .Send GetPage = BytesToBstr(.ResponseBody) End With Se…  Details
<? //以树型结构列出指定目录里的所有文件,如果你想知道自己某个目录里有哪些子目录和文件,可以调用这个类来查看,很方便的。 # 演示的例子: $wt = new TreeClimber( "asp" )…  Details
首先修改sshd的配置文件:[第一步]vi /etc/ssh/sshd_config将该文件的末尾修改如下:#Subsystem sftp /usr/lib/openssh/sftp-ser…  Details
VFP在各企事业单位中有着广泛的应用,我用它开发了本单位使用的元器件检测信息管理系统,现在是本单位日常工作中不可缺少的管理工具。开发中自有许多心得,但最想跟大家谈的是在报…  Details
在皇室和动物保护之间有只小熊起到重要作用,“buoiiin”是黑色森林中可爱的小熊,在一次狩猎中,卡布尔与它不期而遇,“buoiiin”纯洁天真的眼神,笨拙可爱的动作,让卡布尔顿生爱意…  Details
功能: 将一个字符串转换成不超过特定长度(以字节计算)的字符串 返回: 转换后不超过指定长度(以字节计算)的字符串 参数: $wstr 待转换的字符串 $wlen 最大长度(以字节计算)*/ function fixlenst…  Details
一个网站有许多页面,如果用户知道某个页面的链接,可以在浏览器中直接输入url访问它。但这在一个要求有安全性的站点上是不允许的。我们要求用户必须登录以后才能访问各级页面,有…  Details