C++【String类】String插入单个字符,插入字符串的函数实现
来源:互联网 发布:陶哲轩智商知乎 编辑:程序博客网 时间:2024/06/05 21:56
#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 Insert(char ch, size_t pos) { assert(pos <= _size); CheckCapacility(); size_t begin = _size; while (begin >= pos) { _str[begin + 1] = _str[begin]; begin--; } _str[pos] = ch; ++_size; } //插入字符串 /*void Insert(size_t pos, const char* s1) { assert(pos <= _size); int len = strlen(s1); CheckCapacility(_size+len+1); size_t begin = _size; while (begin >= pos) { _str[begin + len] = _str[begin]; --begin; } for (int i = 0; i < len;i++) { _str[pos++] = s1[i]; } } char* Cstr() { return _str; }private: void CheckCapacility(int Needlen) { if (Needlen >= _capacity) { _capacity = Needlen > 2 * _capacity ? Needlen : 2 * _capacity; _str = (char*)realloc(_str, _capacity); } }private: char* _str; int _size; int _capacity;};void Test(){ String s("helorld,hello bit!"); s.Insert(3,"lo w"); cout << s.Cstr() << endl;}int main(){ Test(); system("pause"); return 0;}
0 0
- C++【String类】String插入单个字符,插入字符串的函数实现
- C++【String类】String查找单个字符,查找字符串的函数实现
- C++【String类】String删除单个字符,删除字符串的函数实现
- C++【String类】String头插单个字符,头删单个字符的函数实现
- android字符串资源String中插入某些字符的方法
- C语言字符串替换函数,字符串插入函数的实现
- C++的string长度和插入函数
- Delphi中string数据类型的特殊用法(获取string字符串的单个字符)
- 【Java】String中插入指定字符
- 字符串函数实现---lib\string.c
- android string.xml的字符串中插入变量
- 编写一个函数,实现字符串中,单个字符的删除
- C语言实现 函数reverse_string(char * string) 将参数字符串中的字符反向排列。
- C语言 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。
- C++string:查找、替换、插入、删除等
- 将字符串转成单个的字符Split a string to characters in Bash{转}
- C语言字符串函数与C++string的字符串函数
- C风格字符串和string类的操作——从实现atoi函数开始
- UE使用123
- C++:【常见面试题】String类的写法
- C++【String类】String查找单个字符,查找字符串的函数实现
- Android中服务的生命周期回调方法
- C++【String类】String删除单个字符,删除字符串的函数实现
- C++【String类】String插入单个字符,插入字符串的函数实现
- C++【String类】String头插单个字符,头删单个字符的函数实现
- 常用汽车维修保养小知识——电瓶的养护
- C++【常见面试题】String类的实现,以及深拷贝、浅拷贝问题
- 【笔试常考】C语言:深度剖析strlen,sizeof
- android使用获取所有应用的资源id和uri
- 【C语言】注释不可以嵌套使用的举例
- spring+mybatis
- 【C语言】局部变量、全局变量,局部静态变量,全局静态变量,extern,static的区别