有一个字符串开头或结尾含有n个空格(” abcdefgdddd ”),欲去掉前后空格,返回一个新字符串。
int trimSpace(char *bufscr,char *bufdes)
{
int i=0;
char *p=bufscr;//指针变量,为了不修改传入指针
int len=strlen(bufscr);
int j=len-1;
int count;//非空字符长度
int ret=0;
//首先判断传入的指针是否为空
if (bufscr==NULL||bufdes==NULL)
{
ret=-1;
printf("func trimSpace err %d:",ret);
return ret;
}
while(isspace(p[i])&&p[i]!='\0')
{
i++;
}
while(isspace(p[j])&&j>0)
{
j--;
}
count=j-i+1;
memcpy(bufdes,p+i,count);
//这里一定要注意,字符串数组和字符串的区别就在于字符串数组末尾多'\0'。
bufdes[count]='\0';
return ret;
}