当前位置: 首页 > 图文教程 > 开发语言 > VC++ > C语言中trim的实现

VC++
用 auto_ptr 类模板帮助动态内存管理
走近 STL
一步一步学STL标准模板库
使用 <multimap> 库创建重复键关联容器
使用 <map> 库创建关联容器
用 vectors 改进内存的再分配
用函数模板实现和优化抽象操作
STL 字符串类与 UNICODE 及其它......
如何在Dll中导出STL类
再谈“在STL列表(Lists)中插入不同类型的对象”
使用::std::vector<>作为管理动态数组的优先选择
三种常见中文内码的转换方法
JNI 中文处理问题小结
构建 GB2312 汉字库的 unicode 码表
正则表达式简介
在非MFC程序中引用CString
UTF-8与GB2312之间的互换
宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现
用VC++设计语法编辑器
C语言中对时间和日期的处理

VC++ 中的 C语言中trim的实现


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 113 ::
收藏到网摘: n/a

C语言中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\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;}