【C语言程序设计】【C语言】判断字符串内容

// 判断字符串开头是不是回车换行('\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;
}

 

  • 2
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值