📄 string.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 + -