C语言中trim的实现
作者:老包米
描述
自己用ATL写了个COM,不支持MFC,所以无法用CString,但支持C编码,遇到字符串(字符数组),想去掉字符串中的空格,C下没有TRIM函数,找又没找到,几行代码自己写吧。往后大家万一遇到用着也方便。
说明 1.seps是需要去除的字符数组,可以有几个字符,也可以一个。这里是空格,最常用的。 2.参数也很简单,第一个是结果数组指针,第二个是原字符数组指针,第三个是需要去掉的字符数组指针。返回的是结果数组指针。 源代码
#include "stdafx.h"#include <string.h#include <stdio.hchar 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( "%snnTokens: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( " %sn", token ); strcat(desc,token); /* Get next token: */ token = strtok( NULL, seps ); } return desc;}