tolower的实现

enum rtValue{ptNULL,txtInvalid,Valid}m_error; //m_error变量用来区分返回错误的原因
char* mTolower(const char* strSource){
	char* strDest;
	int len,i;
	m_error = Valid;
	if(strSource == NULL){
		m_error = ptNULL;
		return NULL;
	}
	len = strlen(strSource);
	strDest = (char*)malloc(len+1);
	memset(strDest,0,len+1);
	i = 0;
	while(i < len){
		if((strSource[i] >= 'a') && (strSource[i] <= 'z') ){
			strDest[i] = strSource[i];
		}
		else if((strSource[i] >= 'A') && (strSource[i] <= 'Z') ){
			strDest[i] = strSource[i] + 32;	
		}else
		{
			m_error = txtInvalid;
			return NULL;
		}
		i++;
	}
	return strDest;
}
posted @ 2012-05-11 16:00  f_x_p  阅读(790)  评论(0)    收藏  举报