#include"stdio.h"
#include"stdlib.h"
#include"string.h"
/****************************************************************
*1、函数功能:消除目标字符串中的空格,保存在另一个字符串中并输出
*2、参数:
* char* inbuf:需要处理的目标字符数组,调用后目标字符串内容不变。
* char* outbuf:做处理后的字符保存在此字符数组中。
*3、返回值:
* 返回 myFlag。
* 如果 myFlag=0;函数调用成功。
* 如果 myFlag=-1;函数因参数异常不做任何处理,报提示,调用失败。
* 4、编译环境Vs2019
* 5、文件名:str_处理.c
****************************************************************/
//第一种实现方式
int trimSpace11(char* inbuf,char* outbuf)
{
int myFlag=0;
int i;
char* tempOutbuf= outbuf;
char* tempInbuf = inbuf;
//函数健壮性,体现异常输入、输出处理。
if (inbuf != NULL || outbuf != NULL)
{
for (i = 0; i <= strlen(tempOutbuf); i++)//这里用>=是因为赋值最后要添加'\0'作为字符串结束标志,所以要处理到'\0'位置。
{
if (*(tempInbuf + i) == ' ')
{
;
}
else if (*(tempOutbuf++) = *(tempInbuf + i))
{
;
}
}
}
else
{
printf("The fun of trimSpace is Error!\n");
printf("RuntimeException is cause by function parameters!\n");
myFlag = -1;
return;
}
return myFlag;
}
//第二种实现方式
int trimSpace(char* inbuf, char* outbuf)
{
int myFlag = 0;
int i;
char* tempOutbuf = outbuf;
char* tempInbuf = inbuf;
//函数健壮性,体现异常输入、输出处理。
if (inbuf != NULL || outbuf != NULL)
{
while(*tempInbuf++!='\0')
{
if (*(tempInbuf) == ' ')
{
;
}
else if (*(tempOutbuf++) = *(tempInbuf))//这里是赋值部分,
{
;
}
}
}
else
{
printf("The fun of trimSpace is Error!\n");
printf("RuntimeException is cause by function parameters!\n");
myFlag = -1;
return;
}
return myFlag;
}
int main11(void)
{
char inMystr[] = " abcdf gdddd ";
char outMystr[100];
trimSpace(inMystr, outMystr);
if (outMystr != NULL)
{
printf("outMystr:%s\n", outMystr);
}
else
{
printf("outMystr is NULL :");
}