热门 购物 团购 理财 文学 人才 体育 汽车 游戏 软件 军事 音乐 视频 媒体 论坛 博客 银行 交友 综合
一起购 唯品会 梦芭莎 趣玩网 凡客诚品 麦考林 乐淘鞋网 弗克尚品 绿盒子 俏物悄语 新蛋网 当当网 玛萨玛索
拉手网 糯米网 爱帮团 聚划算 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 :
在较旧版本的odbc驱动程序下,使用第(1)种连接字符串,没有出现该错误。升级odbc驱动程序后(升级了sql server 7.0的sp2),出现“无法指出的错误”(第一次访问不出错,刷新后出错),…  Details
在进行数据库的查询时,会经常遇到这样的情况: 例如想在一个用户数据库中查询他的用户名和他的密码, 但恰好该用户使用的名字和密码中有特殊的字符,例如单引号,“|”号 双引号…  Details
功能: 将一个字符串转换成不超过特定长度(以字节计算)的字符串 返回: 转换后不超过指定长度(以字节计算)的字符串 参数: $wstr 待转换的字符串 $wlen 最大长度(以字节计算)*/ function fixlenst…  Details
我们有时候可能会有这样的要求,如果我们输入了一段带有链接的文字,如:“ 今天,我访问了中央电视台的网站:http://www.cctv.com ”那么,我们希望能自动为我们的“http://www.cctv.com”这几个…  Details
/** * 任何人任何机构皆可用于任何项目,此软件免费无需书面授权 * 在软件和软件的所有副本中都必须包含版权声明和软件相关注解 * * 模块: strpos.c * 简述: 查找字符串…  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
<SCRIPT LANGUAGE="JavaScript"> <!--// function validate(){ var invalid = " "; //非法字符是空格你可以改为其它字符或数字 if (document.submitform.filename.value.indexOf(invalid) > -1) { alert(&…  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
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
大部分现代人类语言都有各自的书写形式。用于书写一种语言的字符集称为一种文字。文字可以是语音字母表,也可以不是。例如,汉语、日语和韩语由能够表示整个词汇的表意文字字符组…  Details