字符串相关函数应用

"MyString.h"文件内容
class MyString
{
public:
MyString();
virtual ~MyString();

bool IsAlphabet(char pStr);//判断pStr是否为字母A-Z或a-z
bool IsDigit(char pStr); //判断pStr是否为10进制数字0~9
bool IsXDigit(char pStr);//判断pStr是否为16进制数字0~9或A-F或a-f
bool IsAlNum(char pStr); //判断pStr是否为字母或数字,即pStr为A-F或a-f或0~9
bool IsAscii(char pStr); //判断pStr是否为ASCII字符,即0≦pStr≦0x7F
bool IsCntrl(char pStr); //判断pStr是否为控制字符,即0≦pStr≦0x1F或pStr=0x7F
bool IsCsym(char pStr); //判断pStr是否为字母、数字或下划线,即pStr为A-F或a-f或0~9或'_'
bool IsIscsym(char pStr);//判断pStr是否为字母或下划线,即pStr为A-F或a-f或'_'
bool IsPrint(char pStr); //判断pStr是否为可打印字符(包括空格),即0x21≦pStr≦0x7E
bool IsGraph(char pStr); //判断pStr是否为除空格外的可打印字符,即0x21≦pStr≦0x7E
bool IsPunct(char pStr); //判断pStr是否为符号(可打印字符中除去空格、字母和数字)
bool IsSpace(char pStr); //判断pStr是否为空白字符,即pStr∈{9,10,11,12,13,20}
bool IsLower(char pStr); //判断pStr是否为小写字母a-z
bool IsUpper(char pStr); //判断pStr是否为大写字母A-Z

//将字符串string转换成为实型数值
double ConvertStringToFloat(const char* string);
//将字符串string转换成整型数值
int ConvertStringToInt(const char* string);
//将字符串string转换成长整型数值
long ConvertStringToLong(const char* string);
//将整数value转化成用radix进制表示的字符串string,进制radix必须在2~36之间
char* ConvertIntToString(int value,char* string,int radix);
//将无符号整数value转化成用radix进制表示的字符串string,进制radix必须在2~36之间
char* ConvertULToString(unsigned long value,char* string,int radix);
//将长整型value转化成用radix进制表示的字符串string,进制radix必须在2~36之间
char* ConvertLongToString(long value,char* string,int radix);
//将字母pStr转化为小写字母
char ConvertToLower(char pStr);
//将字母pStr转化为大写字母
char ConvertToUpper(char pStr);
//将字符串string中的字母转化为小写字母
char* ConvertStringToLower(char* string);
//将字符串string中的字母转化为大写字母
char* ConvertStringToUpper(char* string);
//计算字符串长度
unsigned int GetStringLen(const char* string);
//功能:在字符串string中查找第一次出现字符c的位置
//返回值:字符指针,指向string中第一次出现的字符c;没找到c则返回NULL
char* FindStringFirstPos(const char* string,int c);
//功能:在字符串string中反向查找第一次出现字符c的位置
//返回值:字符指针,指向string中反向第一次出现的字符c;没找到c则返回NULL
char* FindStringFirstPosEx(const char* string,int c);
//功能:从串string的起始位置开

始,往后查找第一个出现在strCharSet中的字符,输出
//该字符在串string中的位置,也就是从string的起始位置开始到该字符前一个位置结束的子串的长度.
//如果string中查不到符合条件的字符,则输出的子串长度就是string的长度
//返回值:返回子串的长度;如果string的第一个字符串就在strCharSet中,则返回0
unsigned int FindStringPos(const char* string,const char* strCharSet);
//功能:从串string的起始位置开始,往后查找第一个不在strCharSet中的字符,输出该字符在串string中的位置,也就是从
//string的起始位置开始到该字符前一个位置结束的子串的长度.如果string中查不到符合条件的字符,则输出的子串长度就是string的长度
//返回值:返回子串的长度;如果string的第一个字符串就在strCharSet中,则返回0
unsigned int FindStringPosEx(const char* string,const char* strCharSet);
//功能:查找string中第一次出现的在strCharSet中的字符,即string和strCharSet的公共字符
//返回值:指向string中该字符的指针;如果两个串没有公共字符,则返回NULL
char* Stringpbrk(const char* string,const char* strCharSet);
//功能:查找子串substring在字符串string中第一次出现的位置
//返回值:指向string中该子串开始位置的指针;如果string中不存在该子串,则返回NULL
char* Stringstr(const char* string,const char* substring);
//功能:将字符串strSource复制到字符串strDestination中
//返回值:指向strDestination的指针
char* Stringcpy(char* strDestination,const char* strSource);
//功能:将字符串strSource中前count个字符复制到字符串strDestination中
//返回值:指向strDestination的指针
char* Stringncpy(char* strDestination,const char* strSource,unsigned int count);
//功能:将字符串string中的每个字符都设置成c
//返回值:指向string的指针
char* Stringset(char* string,int c);
//功能:将字符串string中前count个字符都设成c
//返回值:指向string的指针
char* Stringnset(char* string,int c,unsigned int count);
//功能:将字符串strSource接到字符串strDestination之后
//返回值:指向strDestination的指针
char* Stringcat(char* strDestination,const char* strSource);
//功能:将字符串strSource的前count个字符接到字符串strDestination之后
//返回值:指向strDestination的指针
char* Stringncat(char* strDestination,const char* strSource,unsigned int count);
//功能:按字典序比较string1和string2
//返回值:若string1排在string2前,返回值小于0;若string1和string2相等,返回0;若string1排在string2后,返回值大于零
int Stringcmp(const char* string1,const char* string2);
//功能:按字典序比较string1前count个字符的子串和string2前count个字符的子串
//返回值:若string1的子串排在string2的子串前,返回值小于0;若string1的子串和string2的

子串相等,返回0;若string1的子串排在string2的子串后,返回值大于0
int Stringncmp(const char* string1,const char* string2,unsigned int count);
//功能:按字典序比较string1和string2,但在比较时将所有字母都是为小写字母
//返回值:若string1排在string2前,返回值小于0;若string1和string2相等,返回0;若string1排在string2后,返回值大于零
int Stringicmp(const char* string1,const char* string2);
//功能:按字典序比较string1前count个字符的子串和string2前count个字符的子串,但在比较时将所有字母都是为小写字母
//返回值:若string1的子串排在string2的子串前,返回值小于0;若string1的子串和string2的子串相等,返回0;若string1的子串排在string2的子串后,返回值大于0
int Stringnicmp(const char* string1,const char* string2,unsigned int count);
//功能:以strDelimit中任一字符为分隔符,将string分成多个子串.如果string的开头就是分隔符,则在第一次调用本函数时,开头的分隔符
//会被跳过。每调用一次本函数,就输出一个子串,并且原字符串的内容会被更改。如果调用本函数时,第一个参数为NULL,则
//函数将会继续处理上一次被调用时处理的字符串
//返回值:如果得到子串,则返回该子串的指针;否则返回NULL
char* Stringtok(char* string,const char* strDelimit);
};

"MyString.cpp"文件内容
#include "stdafx.h"
#include "MyString.h"

#include
#include
#include

MyString::MyString()
{

}

MyString::~MyString()
{

}


bool MyString::IsAlphabet(char pStr)
{
if (isalpha(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsDigit(char pStr)
{
if (isdigit(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsXDigit(char pStr)
{
if (isxdigit(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsAlNum(char pStr)
{
if (isalnum(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsAscii(char pStr)
{
if (isascii(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsCntrl(char pStr)
{
if (iscntrl(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsCsym(char pStr)
{
if (iscsym(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsIscsym(char pStr)
{
if (iscsymf(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsPrint(char pStr)
{
if (isprint(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsGraph(char pStr)
{
if (isgraph(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsPunct(char pStr)
{
if (ispunct(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsSpace(char pStr)
{
if (isspace(pStr)!=0)
{
return 1;
}
else return 0;
}

bool MyString::IsLower(char pStr)
{
if (islower(pStr)!=0)
{
return 1;
}
else return 0;
}

b

ool MyString::IsUpper(char pStr)
{
if (isupper(pStr)!=0)
{
return 1;
}
else return 0;
}

double MyString::ConvertStringToFloat(const char* string)
{
double num;
num=atof(string);
return num;
}

int MyString::ConvertStringToInt(const char* string)
{
int num;
num=atoi(string);
return num;
}

long MyString::ConvertStringToLong(const char* string)
{
long num;
num=atol(string);
return num;
}

char* MyString::ConvertIntToString(int value,char* string,int radix)
{
return itoa(value,string,radix);
}

char* MyString::ConvertULToString(unsigned long value,char* string,int radix)
{
return ultoa(value,string,radix);
}

char* MyString::ConvertLongToString(long value,char* string,int radix)
{
return ltoa(value,string,radix);
}

char MyString::ConvertToLower(char pStr)
{
return (char)tolower(pStr);
}

char MyString::ConvertToUpper(char pStr)
{
return (char)toupper(pStr);
}

char* MyString::ConvertStringToLower(char* string)
{
return strlwr(string);
}

char* MyString::ConvertStringToUpper(char* string)
{
return strupr(string);
}

unsigned int MyString::GetStringLen(const char* string)
{
return strlen(string);
}

char* MyString::FindStringFirstPos(const char* string,int c)
{
return strchr(string,c);
}

char* MyString::FindStringFirstPosEx(const char* string,int c)
{
return strrchr(string,c);
}

unsigned int MyString::FindStringPos(const char* string,const char* strCharSet)
{
return strcspn(string,strCharSet);
}

unsigned int MyString::FindStringPosEx(const char* string,const char* strCharSet)
{
return strspn(string,strCharSet);
}

char* MyString::Stringpbrk(const char* string,const char* strCharSet)
{
return strpbrk(string,strCharSet);
}

char* MyString::Stringstr(const char* string,const char* substring)
{
return strstr(string,substring);
}

char* MyString::Stringcpy(char* strDestination,const char* strSource)
{
return strcpy(strDestination,strSource);
}

char* MyString::Stringncpy(char* strDestination,const char* strSource,unsigned int count)
{
return strncpy(strDestination,strSource,count);
}

char* MyString::Stringset(char* string,int c)
{
return strset(string ,c);
}

char* MyString::Stringnset(char* string,int c,unsigned int count)
{
return strnset(string ,c,count);
}

char* MyString::Stringcat(char* strDestination,const char* strSource)
{
return strcat(strDestination,strSource);
}

char* MyString::Stringncat(char* strDestination,const char* strSource,unsigned int count)
{
return strncat(strDestination,strSource,count);
}

int MyString::Stringcmp(const char* string1,const char* string2)
{
return strcmp(string1,string2);
}

int MyString::Stringncmp(const char* string1,const char* string2,unsigned int count)
{
return strncmp(string1,string2,count);
}

int MyString::Stringicmp(const char* string1,const char* string2)
{
return stricmp(string1,string2);
}

int MyString::Stringnicmp(c

onst char* string1,const char* string2,unsigned int count)
{
return strnicmp(string1,string2,count);
}

char* MyString::Stringtok(char* string,const char* strDelimit)
{
return strtok(string,strDelimit);
}

相关文档
最新文档