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

📄 string.h

📁 CPU调度算法---模拟OS所使用的所有调度算法,包括创建一个kernel,PCB,队列
💻 H
字号:
#if !defined(__STRING_H)
	# include <string.h>
#endif

class String
{
public:
	char * string;

	String()
	{
		string = 0;
	}

	String(char * s)
	{
		string = new char[strlen(s) + 1];
		strcpy(string,s);
	}

	String(String & s)
	{
		string = new char[strlen(s.string) + 1];
		strcpy(string,s.string);
	}

	~String()
	{
		delete(string);
	}

	friend char* operator + (const String str1,const String str2)
	{
		char * s = new char[strlen(str1.string) + strlen(str2.string)];
		long i = 0,j = 0;
		while(str1.string[i] != 0)
		{
			s[i] = str1.string[i];
			i++;
		}
		while(str2.string[j] != 0)
		{
			s[i] = str2.string[j];
			i++;
			j++;
		}
		s[i] = 0;
		return s;
	}

	friend char* operator + (const String str1,const char* str2)
	{
		char * s = new char[strlen(str1.string) + strlen(str2) - 1];
		long i = 0,j = 0;
		while(str1.string[i] != 0)
		{
			s[i] = str1.string[i];
			i++;
		}
		while(str2[j] != 0)
		{
			s[i] = str2[j];
			i++;
			j++;
		}
		s[i] = 0;
		return s;
	}

	friend char* operator + (const char * str1,const String str2)
	{
		char * s = new char[strlen(str1) + strlen(str2.string) - 1];
		long i = 0,j = 0;
		while(str1[i] != 0)
		{
			s[i] = str1.[i];
			i++;
		}
		while(str2.string[j] != 0)
		{
			s[i] = str2.string[j];
			i++;
			j++;
		}
		s[i] = 0;
		return s;
	}

	void operator = (String s)
	{
		string = s.string;
	}

	void operator = (char * s)
	{
		string = s;
	}

	long double length()
	{
		return strlen(string);
	}

	char* reverse()
	{
		char * str = new char[strlen(string)];
		strcpy(str,string);
		return strrev(str);
	}

	int equals(String s)
	{
		long len1 = strlen(string);
		long len2 = strlen(s.string);
		if( len1 == len2 )
		{
			for(int i=0 ; i<len1 ; i++)
				if(string[i] != s.string[i])
					return 0;
			return 1;
		}
		else
			return 0;
	}

	int equals(char * s)
	{
		long len1 = strlen(string);
		long len2 = strlen(s);
		if( len1 == len2 )
		{
			for(int i=0 ; i<len1 ; i++)
				if(string[i] != s[i])
					return 0;
			return 1;
		}
		else
			return 0;
	}

	/*char** split(char ch)
	{
		char * str = new char[strlen(string)+1];
		strcpy(str,string);
		char ** s;
		long i=0,j=0,k=0;
		while(str[i] != 0)
		{
			if(str[i] != ch)
			{
				s[j][k] = *str;
				k++;
			}
			else
			{
				s[j][++k] = 0;
				i++;
				j=0;
			}
			i++;
		}
		return s;
	}*/

	char charAt(int i)
	{
		if(i <= length())
			return string[i];
		else
			return 0;
	}

	char * subString (int i,int j)
	{
		if( (i<0) || (j<0) )
			return NULL;
		if((j+i) > length() )
			return NULL;
		char * s = new char[j-i+1];
		for(int k=i ; k<(i+j) ; k++)
		{
			s[k-i] = string[k];
		}
		s[k-i]=0;
		return s;
	}
};

⌨️ 快捷键说明

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