⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 string.cc

📁 100 病毒源碼,原始碼,無毒 ......
💻 CC
字号:
// Larbin// Sebastien Ailleret// 20-12-99 -> 08-03-00#include <assert.h>#include <string.h>#include <iostream.h>#include "xutils/text.h"#include "xutils/string.h"#include "xutils/debug.h"// ConstructorString::String (uint size) {  chaine = new char[size];  this->size = size;  pos = 0;}// DestructorString::~String () {  delete [] chaine;}// Recycle this stringvoid String::recycle (uint size) {  if (this->size < size) {	delete [] chaine;	chaine = new char[size];	this->size = size;  }  pos = 0;}// get the char *char *String::getString () {  chaine[pos] = 0;  return chaine;}/** give a new string (allocate a new one * the caller will have to delete it */char *String::giveString () {  chaine[pos] = 0;  return newString(chaine);}// append a charvoid String::addChar (char c) {  chaine[pos] = c;  pos++;  if (pos >= size) {	char *tmp = new char[size * 2];	memcpy(tmp, chaine, pos);	delete [] chaine;	chaine = tmp;	size *= 2;  }}// append a char *void String::addString (char *s) {  uint len = strlen(s);  if (size <= pos + len) {	size = pos + len + 1;	char *tmp = new char[size];	memcpy(tmp, chaine, pos);	delete [] chaine;	chaine = tmp;  }  memcpy(chaine+pos, s, len);  pos += len;}// append a buffervoid String::addBuffer (char *s, uint len) {  if (size <= pos + len) {	size = pos + len + 1;	char *tmp = new char[size];	memcpy(tmp, chaine, pos);	delete [] chaine;	chaine = tmp;  }  memcpy(chaine+pos, s, len);  pos += len;}// get a char of this stringchar String::operator [] (uint i) {  myAssert(i<=pos, "buffer overflow in String oper []");  if (i==pos) {	return 0;  } else {	return chaine[i];  }}// change a charvoid String::setChar (uint i, char c) {  chaine[i] = c;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -