有一个字符串开头或结尾含有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; }
时间: 2024-10-07 06:13:21