c语言实现对于字符串的删除、插入、查找字符

#include<stdio.h>
#include<stdlib.h>

int nodesize = 100;//定义初始大小
 
 /*n是字符串下标
 	insert函数表示从str[n]开始插入字符串*str1 
 */
int Insert(int n,char *str, char *str1){
	int length1 = strlen(str);
	if(n >= length1) return 0;
	int length2 = strlen(str1);
	if(length1 + length2 > nodesize){
		nodesize = length1 + length2;
		str = (char *)realloc(str,nodesize * sizeof(char));
	}
	int i;
	for(i = length1 + length2- 1; i >= n + length2; i--){
		str[i] = str[i - length2];
	}
	for(i = n; i < n + length2; i++){
		str[i] = str1[i - n];
	}
	str[length1 + length2] = '\0';
	return 1; 
} 

//start:字符串下标 
//deletestr函数:从str[start]开始删除长度为len的字符串
int deletestr(int start,int len,char *str){
	int length = strlen(str);
	if(start > length || start < 0)
	return 0;
	int i;
	for(i = start + len; i < length; i++){
		str[i - len] = str[i]; 
	}
	str[i - len] = '\0';
	return 1;
}
//check函数:从str[start]开始查找字符c
int check(int start,char *str,char c){
	int length1 = strlen(str);
	if(start >= length1) return -1;
	int i;
	for(i = start; i < length1; i++){
		if(str[i] == c){
			return i;
		}
	}
}
 
int main(){
	//通过字符指针实现插入操作时为防止越界应预先调用malloc函数对其分配适当空间
	char *str = (char *)malloc(nodesize * sizeof(char));
	char *str1 = (char *)malloc(nodesize * sizeof(char));
   // scanf("%s%s", str,str1);
    //Insert(1,str,str1)&&printf("%s\n", str);
    //deletestr(1,8,str)&&printf("%s\n", str); 
    //printf("%d",cheak(1,str,'5'));
	return 0;
}
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值