C++String类String删除单个字符,删除字符串的函数实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++String类String删除单个字符,删除字符串的函数实现相关的知识,希望对你有一定的参考价值。
#include<iostream> #include<stdlib.h> #include<assert.h> using namespace std; class String { public: String(const char* str) :_str(new char[strlen(str) + 1]) { _size = strlen(str); _capacity = _size + 1; strcpy(_str, str); } String(const String& s) :_str(NULL) { String tmp(s._str); swap(_str, tmp._str); } ~String() { if (_str) { delete[] _str; _size = 0; _capacity = 0; _str = NULL; } } //删除单个字符 /*void Erase(size_t pos) { assert(pos <=_size); //pos>_size报错 int begin = pos; while (begin <= _size) { _str[begin] = _str[begin + 1]; begin++; } --_size; }*/ //删除字符串 void Erase(size_t pos, int len) { assert(pos <= _size); int len1 = len + 1; while (len1--) { _str[pos] = _str[pos + len +1]; pos++; } _size = _size - len; } char* C_str() { return _str; } private: char* _str; int _size; int _capacity; }; void Test() { String s("abcdefghijk"); s.Erase(2,4); cout << s.C_str() << endl; } int main() { Test(); system("pause"); return 0; }
以上是关于C++String类String删除单个字符,删除字符串的函数实现的主要内容,如果未能解决你的问题,请参考以下文章
C++String类String查找单个字符,查找字符串的函数实现
R语言unlist函数将复杂数据(list列表dataframe字符串String)对象处理成简单向量vector形式:将包含dataframe和字符串的向量列表转换为单个向量(删除数据名称)