/*
功能:将输入的字符串中英文大写字母改成对应小写字母,并且过滤掉非英文字母字符
输入:字符串
输出:结果字符串,保证输出地址有效。
返回:0表示成功,其它返回-1
例如1:
输入:ABC
输出:abc
例如2:
输入:AbC
输出:abc
*/
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int ProcessString(char * strInput,char *strOutput)
{
int len=0;
int i=0;
int j=0;
if(strInput == NULL|| strOutput == NULL)//输入参数有效性判断
{
strOutput = NULL;
return -1;
}
len=strlen(strInput);
for(i=0; i<len; i++)
{
if(*(strInput+i)<'A' || *(strInput+i)>'Z' && *(strInput+i)<'a' || *(strInput+i)>'z')
{
continue; //过滤不符合条件的字符 ,j控制输出字符的存放位置
}
else
{
if(*(strInput+i)>='A' && *(strInput+i)<='Z')
{
*(strOutput+j)=*(strInput+i)+32; //大写改为小写
}
else
{
*(strOutput+j)=*(strInput+i); //小写直接存放
}
j++;
}
}
*(strOutput+j)='\0';
printf("%s",strOutput);
return 0;
}
void main()
{
char strInput[20]={"0"};
char strOutput[20]={"0"};
printf("请输入你要的字符串:\n");
scanf_s("%s",strInput,20);
ProcessString(strInput,strOutput);
getchar();
getchar();
}