从字符串指定位置删除指定个数的字符

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

char *delete_chars(char *str,int pos,int len)
{
    char *p=str+pos-1;
    int tt=strlen(str);
    if (pos<1||(pos>tt))  //pos小于1 或者pos超出字符串长度
    {
        return str;
    }
    if ((p+len-str)>tt)  //len大于pos后剩余的字符个数
    {
        *p=‘\0‘;        //直接把p指向的字符赋值为空
        return str;
    }

    //删除len个字符
    while (*p&&*(p+len))
    {
        *p=*(p+len);
        p++;
    }
    *p=‘\0‘;
    return str;

}

int main()
{
    char str[]="sdfrwe";
    cout<<str<<endl;
    int pos=2;
    int len=2;
    delete_chars(str,pos,len);
    cout<<str<<endl;
    return 0;
}

代码摘抄自  c和c++程序员面试秘笈  代码的条理很清晰

时间: 2024-10-12 04:24:09

从字符串指定位置删除指定个数的字符的相关文章

Python pop()方法从指定位置删除并返回

1.pop()方法从指定位置删除并返回 def senitize(time_string): if '-' in time_string: splitter='-' elif ':' in time_string: splitter=':' else: return(time_string) (mins,secs)=time_string.split(splitter) return(mins+'.'+secs) def get_coach_data(filename): try: with o

java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:换行,用于解决生成pdf换行问题等问题

原因: 由于html转pdf时,不能自动换行,因此才有下面的代码. 注释:完全模拟html页面的自动换行! package test; import java.io.UnsupportedEncodingException; /** * 解决pdf换行问题,在指定位置插入指定字符串,兼容中英文以及特殊字符 * * @author xg君 * */ public class app { public static void main(String[] args) throws Unsupporte

sql中从指定位置截取指定长度字符串

1. 字符串函数应用 --从指定索引截取指定长度的字符串 SELECT substring('abcdefg',2,5) --获取字符串中指定字符的索引(从1开始) select charindex(',','ab,cdefg') --实际应用中的语句 select proId,color,substring(FacePath,0,charindex(',',FacePath)) as FacePath from proselect where id=1000000 2. 日期函数应用 --获取

简单顺序表的插入,删除,指定位置,指定元素的插入删除操作

头文件 SeqList.h #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #include<stdio.h> #include<string.h> #include<assert.h> #define MAX_SIZE 10 typedef int DataType; typedef unsigned int size_t; typedef struct SeqList { DataType array[MAX_SIZE]; s

java如何实现替换指定位置的指定字符串的功能

/**  * @创建日期 2013-07-15  * @创建时间 14:25:59  * @版本号 V 1.0  */ public class CosTest {     public static void main(String[] args) {         String sql = "select * from teacher  where id = ? and name = ?";         System.out.println(replaceString(sql

linux删除指定行&amp;删除行首空格&amp;替换字符

打印并删除2~1000行 nl /etc/passwd | sed '2,1000d' |more 删除行首空格 sed 's/^[][ ]*//g' file 替换分隔符 说明:文件中数据是由一个或者制表位(多个空格)分隔开的,将这些空格替换为特定字符. 解决方法:sed -e 's/[ ][ ]*/,/g' filename 或者:sed -e 's/[[:space:]][[:space:]]*/ /g' filename 这样将空格或者制表位替换为“逗号”了.

字符串的替换(直接替换你想要替换的字符串内容)/删除(删除指定位置/删除你要要删除的位置)/

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSMutableString *mustr1=[[NSMutableString alloc]init]; NSMutableString *mustr2=[NSMutableString stringWithFormat:@"Hello"]; NSMutableString *mus

js数组指定位置添加和删除元素

//按指定位置删除Array.prototype.removeIndex = function (index) { if (index > - 1) { this.splice(index, 1); } };//按元素名称删除 Array.prototype.remove = function (val) { var index = this.indexOf(val); if (index > - 1) { this.splice(index, 1); } };//添加元素到指定位置 Arra

删除字符串中指定位置的字符

/********************************************************************** * 版权所有 (C)2015, Wu Yingqiang. * * 文件名称:DelPosChar.c * 文件标识:无 * 内容摘要:删除字符串中指定位置的字符 * 其它说明:无 * 当前版本: V1.0 * 作 者: Wu Yingqiang * 完成日期: 20150115 * ***********************************