Welcome

首页 / 软件开发 / C语言 / C语言中trim的实现

C语言中trim的实现2007-10-25老包米本文详细介绍语言中trim的实现

描述

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

说明

1.seps是需要去除的字符数组,可以有几个字符,也可以一个。这里是空格,最常用的。

2.参数也很简单,第一个是结果数组指针,第二个是原字符数组指针,第三个是需要去掉的字符数组指针。返回的是结果数组指针。

#include "stdafx.h"
#include <string.h>
#include <stdio.h>
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 Tokens: ", strtemp );
trim(szResult,strtemp,seps);
printf( "result:%s(ok!) ", 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 ", token );
strcat(desc,token);
/* Get next token: */
token = strtok( NULL, seps );
}
return desc;
}