【原创】用C实现Trim()函数

it2022-05-09  33

测试代码如下:

#include <stdio.h>

#include <stdlib.h>char * Trim(char *str);int main(int argc, char *argv[]){  char str1[]="      "char str2[]="\0"char str3[]="   abc   def   ghi   ";  Trim(str1);  printf("[%s]\n",str1);     Trim(str2);  printf("[%s]\n",str2);    Trim(str3);  printf("[%s]\n",str3);    system("PAUSE");      return 0;}/*令字符指针变量t指向字符串的最后一个字符,若t的值为空格且t的地址大于s的地址,则将t所处地址的值置为字符串结束,然后令t的地址继续减小;令字符指针变量f指向字符串第一个非空格处,将f以后的字符前移; */void Trim(char *s){       char *t = s + strlen(s) - 1;    char *f=s;    int iTemp=0;        while (isspace(*t) || isspace(*f))     {           if(t >= s && isspace(*t))        {           *t = '\0';            --t;        }        if(f <= t && isspace(*f)) f++;    }    while (f <= t)      {        *(s+iTemp)=(*f);        ++iTemp;        ++f;     }    *(s+iTemp)='\0';}

该程序的测试环境:

WinXPSP2,Dev C++ 4.9.9.2

转载于:https://www.cnblogs.com/feima-lxl/archive/2010/07/29/1788183.html

相关资源:数据结构—成绩单生成器

最新回复(0)