C++ 从指定位置开始,删除指定长度的字符串
来源:互联网 发布:ubuntu如何编辑文件 编辑:程序博客网 时间:2024/06/07 10:22
1:先检查指定位置和指定长度的合法性;
2:找到指定位置;
3:删除指定长度个字符串。
具体代码如下:
#include <iostream>using namespace std;char *GetCharsDeleted(char *str,int pos,int len){char *p=str+pos-1;int i=0;char *temp=NULL;int ls=strlen(str);//计算字符长度if(pos<1 || (p-str)>ls)//检查pos是否大于1,{//或者是否超出字符串长度cout<<"pos error!"<<endl;exit(1);}char *end=str;while(*end++);if((p+len-str) >=ls){temp=new char[end-p-1];while(*p!='\0')temp[i++]=*p++;}if(*p && *(p+len)){temp=new char[len];while(len--){temp[i++]=*p++;}}return temp;}char *deleteChars(char *str,int pos,int len){char *p=str+pos-1;//p指向pos位置的字符int ls=strlen(str);//计算字符长度if(pos<1 || (p-str)>ls)//检查pos是否大于1,{//或者是否超出字符串长度return str;}if((p+len-str)>=ls)//len大于pos后剩余的字符个数// 只需对pos位置赋‘\0’{*p='\0';return str;}//当len小于pos位置后的字符个数时,进行删除操作while(*p && *(p+len)){*p=*(p+len);p++;}*p='\0';return str;}int main(){char str[]="Welcome to here;";int pos=0;int len=0;cout<<"string: "<<str<<endl;cout<<"please input pos:";cin>>pos;cout<<"please input len:";cin>>len;cout<<"delete chars :"<<GetCharsDeleted(str,pos,len)<<endl;deleteChars(str,pos,len);cout<<"after delete :"<<str<<endl;return 0;}GetCharsDeleted函数用来输出将要被删除的字符串;
deleteChars函数用来删除指定字符串。
阅读全文
0 0
- 从字符串的指定位置开始,删除指定长度字符
- C++ 从指定位置开始,删除指定长度的字符串
- 从指定位置删除指定长度的字符串(串)
- 从指定位置删除指定长度的字符串(串)
- 从字符串指定位置删除指定长度字符
- C strncpy 从指定位置开始截取指定长度子字符串方法
- 【我解C语言面试题系列】010 从相应位置开始删除指定字符串的相应个字符
- 从相应位置开始删除指定字符串的相应个字符
- c语言:返回指定字符在指定字符串中第n次出现的位置(从0开始计算)
- Linux C编程——在指定位置输入指定长度的字符串
- Java: 按字节的开始位置来截取指定字节数长度的字符串
- C语言截取从某位置开始指定长度子字符串方法
- C语言截取从某位置开始指定长度子字符串方法
- C 可指定长度的字符串函数
- 获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数
- 从指定位置剪切字符串
- 从指定字符串中删除指定字符
- 从指定字符串删除指定字符
- 二叉树问题---通过先序和中序数组生成后序数组
- MySQL复制之keepalived 主从配置日志报错:one or more vip associated with vrid mismatch actual master advert
- C# DataGridView添加新行的2个方法
- Python进阶之路—五
- 人脸检测工具face_recognition的安装与应用
- C++ 从指定位置开始,删除指定长度的字符串
- 困惑了我很久的一道题
- Java集合-02之 Collection架构
- dede彻底解决dede按权重降序排序的问题(部分转载)
- JAVA基础
- logback xml方式配置
- teamviewer-vpn远程办公
- HDU
- Paypal付款按钮变量列表