Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9548473
  • 博文数量: 1227
  • 博客积分: 10026
  • 博客等级: 上将
  • 技术积分: 20273
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-16 12:40
文章分类

全部博文(1227)

文章存档

2010年(1)

2008年(1226)

我的朋友

分类: C/C++

2008-04-23 21:42:24

C语言中trim的实现


作者:

描述
自己用ATL写了个COM,不支持MFC,所以无法用CString,但支持C编码,遇到字符串(字符数组),想去掉字符串中的空格,C下没有TRIM函数,找又没找到,几行代码自己写吧。往后大家万一遇到用着也方便。

说明

  • 1.seps是需要去除的字符数组,可以有几个字符,也可以一个。这里是空格,最常用的。
  • 2.参数也很简单,第一个是结果数组指针,第二个是原字符数组指针,第三个是需要去掉的字符数组指针。返回的是结果数组指针。
源代码
#include "stdafx.h"

#include 

#include 



char seps[]   = " ";



char* trim(char* desc,char* src,char* seps);

int main(int argc, char* argv[])

{

char szResult[1024]="";

memset(szResult,0,1024);



char strtemp[]="ab c d e f";



printf( "%s\n\nTokens:\n", strtemp );

trim(szResult,strtemp,seps);

    printf( "result:%s(ok!)\n", szResult );

return 0;

}

//////////////////////////////////////////////////////

char* trim(char* desc,char* src,char* seps)

{

char* token=NULL;

  /* Establish string and get the first token: */

   token = strtok(src, seps);

   while( token != NULL )

   {

      /* While there are tokens in "string" */

      printf( " %s\n", token );

  strcat(desc,token);

      /* Get next token: */

      token = strtok( NULL, seps );

   }

   return desc;

}
阅读(353) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~