// 判断字符串开头是不是回车换行('\n'或'\r'),如果不是返回0,如果是,返回有几个这样的字符。
int isNewLine(char* acStr)
{
int iSize = 0;
if(acStr[0] == '\n' || acStr[0] == '\r')
{
iSize ++; acStr ++;
while(acStr[0] == '\n' || acStr[0] == '\r') {iSize ++; acStr ++;}
}
return iSize;
}
// 判断字符串是不是空白字符(小于 '!' 大于 '\0' 的字符),如果不是返回0,如果是,返回有几个这样的字符。
int isSpace(char* acStr)
{
int iSize = 0;
if((acStr[0] < '!') && (acStr[0] > '\0'))
{
iSize ++; acStr ++;
while((acStr[0] < '!') && (acStr[0] > '\0')) {iSize ++; acStr++;}
}
return iSize;
}
// 判断字符串是不是整数(小于 '9' 大于 '0' 的字符),如果不是返回0,如果是,返回有几个这样的字符。
int isInt(char* acStr)
{
int iSize = 0;
if(acStr[0] >= '0' && acStr[0] <= '9')
{
iSize ++; acStr ++;
while(acStr[0] >= '0' && acStr[0] <= '9') {iSize ++; acStr ++;}
}
return iSize;
}
// 判断字符串是不是小数(小于 '9' 大于 '0' 的字符,并且数字中间有一个点),如果不是返回0,如果是,返回有几个这样的字符。
int isFloat(char* acStr)
{
int iSize = 0, iDotNum = 0;
if(acStr[0] >= '0' && acStr[0] <= '9')
{
iSize ++; acStr ++;
while((acStr[0] >= '0' && acStr[0] <= '9') || acStr[0] == '.')
{
if(acStr[0] == '.')
iDotNum ++;
if(iDotNum > 1)
break;
iSize ++;
acStr ++;
}
}
return iSize;
}
// 判断字符串是不是十六进制数字(以0x开头,含有'0'-'9','A'-'F'的字符串),如果不是返回0,如果是,返回有几个这样的字符。
int isHex(char* acStr)
{
int iByteNum = 0;
if(acStr[0] == '0' && (acStr[1] == 'x' || acStr[1] == 'X'))
{
iByteNum += 2;
acStr += 2;
while(acStr[0] !='\0')
{
if(!((acStr[0]>='0' && acStr[0]<='9') || (acStr[0]>='a' && acStr[0]<='f') || (acStr[0]>='A' && acStr[0]<='F')))
break;
else
iByteNum ++;
acStr ++;
}
}
return iByteNum;
}
// 判断字符串是否没到结尾
_Bool isNotEnd(char* acStr)
{
if(acStr[0] == '\0')
return 0;
else
return 1;
}
// 判断字符串是否到结尾了
_Bool isEnd(char* acStr)
{
if(acStr[0] == '\0')
return 1;
else
return b;
}
// 如果此指针指向的字符串的开头是一个英文单词,返回英文单词字母个数,否则返回 0
int isWord(char* acStr)
{
int iNum = 0;
if((acStr[0] >= 'A' && acStr[0] <= 'Z') || (acStr[0] >= 'a' && acStr[0] <= 'z'))
{
iNum ++;
acStr ++;
while(acStr[0] !='\0')
{
if(!(
(acStr[0] >= '0' && acStr[0] <= '9') ||
(acStr[0] >= 'A' && acStr[0] <= 'Z') ||
(acStr[0] >= 'a' && acStr[0] <= 'z') ||
(acStr[0] == '-') ||
(acStr[0] == '\'')
))
break;
else
iNum ++;
acStr ++;
}
}
return iNum;
}
// 如果此指针指向的字符串的开头不是一个英文单词,返回英文单词前有几个字节,否则返回 0
int isNotWord(char* acStr)
{
int iNum = 0;
if((acStr[0] < 'A') || (acStr[0] > 'Z' && acStr[0] < 'a') || (acStr[0] > 'z'))
{
iNum ++;
acStr ++;
while(acStr[0] !='\0')
{
if(
(acStr[0] >= 'A' && acStr[0] <= 'Z') ||
(acStr[0] >= 'a' && acStr[0] <= 'z')
)
break;
else
iNum ++;
acStr ++;
}
}
return iNum;
}
// 如果此指针指向的字符串的开头是字符串(被双引号包含),返回有几个字节,否则返回 0
int isString(char* acStr)
{
int iByteNum = 0;
char* pcSearchA = acStr;
char* pcSearchB = NULL;
if(pcSearchA[0] == '\"' && pcSearchA[-1] != '\\')
{
pcSearchB = pcSearchA + 1;
while(pcSearchB[0] !='\0')
{
if(pcSearchB[0] == '\"' && pcSearchB[-1] != '\\')
{
iByteNum = pcSearchB - pcSearchA + 1;
return iByteNum;
}
pcSearchB++;
}
iByteNum = (U64)(pcSearchB - pcSearchA);
}
return iByteNum;
}