/*
题目61:编写一个名为removestring的函数,该函数用于从一个字符串中删除一定量的字符。
该函数接受三个参数:
第1参数代表源字符串
第2参数代表需要删除字符的起始位置(位置从0开始)
第3参数代表需要删除的字符个数。
eg:字符串"abcd12345efg"
removestring(text, 4, 5);
则会删除该字符数组中的字符串wrong以及后面的空格。遗留内容则是字符串abcdefg"。 */
#include<stdio.h>
#include<stdlib.h>
#include<string.h> int removestring(char *pstr/*in*/, int begin, int num,char **pout/*out*/){
int ERRO_MSG = ;
if (pstr == NULL || pout==NULL)
{
ERRO_MSG = ;
printf("pstr == NULL || pout==NULL 传入参数不可以为空 erro msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
//定义临时变量接受参数
char *pin = pstr;
//分配返回内存
char *res = (char *)malloc(sizeof(char)* );
int index = ,numx=;
while (*pin != '\0'){
if (index >= begin&&index <(begin+num))
{
pin++;
index++;
continue;
}
res[numx] = *pin;
//指针后移一位
pin++;
index++;
numx++;
}
res[numx] = '\0';
*pout = res;
return ERRO_MSG;
} int freestring(char **pin/*in*/){
int ERRO_MSG = ;
if (pin==NULL)
{
ERRO_MSG = ;
printf("pin==NULL 传入参数不可以为空 erro msg:%d\n", ERRO_MSG);
return ERRO_MSG;
}
if (*pin!=NULL)
{
free(*pin);
*pin = NULL;
}
return ERRO_MSG;
} void main(){
char str[]="abcd12345efg";
int ret = ;
//接收返回字符串
char *str2 = NULL;
ret = removestring(str, , , &str2);
if (ret!=)
{
printf("删除指定字符失败!");
}
//打印处理之后的字符
printf(str2);
printf("\n");
//释放内存
freestring(&str2);
system("pause");
}

C语言 百炼成钢25的更多相关文章

  1. C语言 百炼成钢19

    /* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...

  2. C语言 百炼成钢9

    //题目25:求1+2!+3!+...+20!的和 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib ...

  3. C语言 百炼成钢3

    //题目7:用*号输出空心菱形图案 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...

  4. C语言 百炼成钢2

    //题目4:输入某年某月某日,判断这一天是这一年的第几天? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<st ...

  5. C语言 百炼成钢1

    //题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> ...

  6. C语言 百炼成钢18

    //题目52:用递归打印以下图形 //* //*.*. //*..*..*.. //*...*...*...*... //*....*....*....*....*.... #include<s ...

  7. C语言 百炼成钢17

    //题目49:老师将糖果分成若干份,让学生按任意次序领取,第一个领取的,得到1份加上剩余糖果的1/10, //第二个领取的,得到2份加上剩余糖果的1/10,第三个领取的,得到3份加上剩余糖果的1/10 ...

  8. C语言 百炼成钢16

    //题目46:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只 //猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了 //一个,它同样把 ...

  9. C语言 百炼成钢15

    //题目43:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出 //圈子,问最后留下的是原来第几号的那位. #include<stdio.h> #inclu ...

随机推荐

  1. Zend Guard Run-time support missing 问题的解决

    Zend Guard是目前市面上最成熟的PHP源码加密产品了. 刚好需要对自己的产品进行加密,折腾了一晚上,终于搞定,将碰到的问题及解决方法记录下来,方便日后需要,也可以帮助其他人. 我使用的是Wam ...

  2. [ES6] 10. Array Comprehensions

    ES6 decided that Array Comprehensions will not included in this version, ES7 will include this. Ther ...

  3. 关于configure和Makefile

    http://blog.csdn.net/lltaoyy/article/details/7615833 转篇文章,讲的不是很清楚,再附上几个资料连接,来自http://www.linuxdw.com ...

  4. java中,静态代码块static的简单简介

    直接上代码,更直观,包括一些解释: /** * 类初始化时,首先加载静态代码块, * 注意:所有静态代码块都会在方法之前执行,不管放置的位置:但是静态代码块按照顺序执行 * 再次执行调用的方法 */ ...

  5. Game Center Achievements and Leaderboards part 1 <转>

    原地址:http://blog.sina.com.cn/s/blog_6b3661a901013xb0.html This is the first part of a step-by-step tu ...

  6. PHP中is_*() 函数用法

    PHP中is_*() 函数用法 is_a - 如果对象属于该类或该类是此对象的父类则返回 TRUE is_array - 检测变量是否是数组 is_bool - 检测变量是否是布尔型 is_calla ...

  7. Codeforces 276E(树状数组)

    题意:一棵树有n个节点,1是根节点,根节点的子节点是单链,然后如今有两种操作0 v x d表示距离节点v为d的节点权值都加x,操作1 v问v节点的权值,初始节点权值都是0. 题解:看了别人的题解才会的 ...

  8. 08-spring学习-annotation配置

    利用annotation配置注入关系 为了更好的解释此类存在的意义,下面通过一段习惯性的开发进行问题的描述,例如: 现在有一个IAdminService服务层,这个服务层要调用的是IAdminDAO和 ...

  9. 如何从官网下载Spring

    1.Spring下载地址http://repo.spring.io/release/org/springframework/spring/ 里面有各自版本下载: 方法二: 1.在百度中输入Spring ...

  10. SpringMVC学习小结

    配置web.xml: <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-cl ...