免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 15036 | 回复: 14
打印 上一主题 下一主题

[函数] C/C++去空格的函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-29 21:00 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
2 [报告]
发表于 2007-09-22 17:34 |只看该作者
C++的版本对我很有用,谢谢!

论坛徽章:
0
3 [报告]
发表于 2007-09-22 18:37 |只看该作者
好象有系统自带的函数

论坛徽章:
0
4 [报告]
发表于 2007-09-22 23:59 |只看该作者
原帖由 xstart 于 2006-3-29 21:00 发表
经过测试不会疏漏任何一种空白字符,准确可靠

----------------------------------------C---------------------------------------
#include
#include
#include

char * trim(char * ptr)
{
     ...

字符串中间的空格没去掉

论坛徽章:
0
5 [报告]
发表于 2012-03-21 23:07 |只看该作者
效率太低了吧,这种类别得函数得高效的实现方式,扫描得次数应该小于 strlen()+1次

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
6 [报告]
发表于 2012-03-21 23:15 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
7 [报告]
发表于 2012-03-21 23:20 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2012-03-21 23:25 |只看该作者
zwylinux 发表于 2007-09-22 23:59
字符串中间的空格没去掉


trim不是去空格,请好好体会 ---

trim
vt.修剪; 整理; 装饰
adj.整齐的,整洁的; 修长的; 苗条的
n.整齐; 修剪; 健康状态; 装束
vi.削减

论坛徽章:
0
9 [报告]
发表于 2012-11-03 22:16 |只看该作者
去字符串前后以及单词之间的空格
#include <stdio.h>
#include <string.h>
#include <ctype.h>

char * trim(char * ptr)
{
    int start,end,i,j,len;
    if (ptr)
    {
        for(start=0; isspace(ptr[start]); start++)
            ;
        for(end=strlen(ptr)-1; isspace(ptr[end]); end--)
            ;
        for(i=start; i<=end; i++)
            ptr[i-start]=ptr[i];
        ptr[end-start+1]='\0';

        len = strlen(ptr);

                for(i=0,j=0;i<=len;i++)
                {
                        if(ptr[i] != ' ')
                        {
                      ptr[j]=ptr[i];
                          j++;
                    }
                }

        return (ptr);
    }
    else
        return NULL;
}

论坛徽章:
11
摩羯座
日期:2013-09-16 11:10:272015亚冠之阿尔萨德
日期:2015-06-12 22:53:29午马
日期:2014-04-15 11:08:53亥猪
日期:2014-03-02 23:46:35申猴
日期:2013-12-06 22:07:00亥猪
日期:2013-11-28 12:03:13双鱼座
日期:2013-11-21 14:43:56亥猪
日期:2013-10-23 10:55:49处女座
日期:2013-10-17 18:15:43午马
日期:2013-09-27 17:40:4215-16赛季CBA联赛之青岛
日期:2016-06-22 00:45:55
10 [报告]
发表于 2012-11-03 22:24 |只看该作者
AD8018 发表于 2012-03-21 23:25
trim不是去空格,请好好体会 ---

trim
vt.修剪; 整理; 装饰
adj.整齐的,整洁的; 修长的; 苗条的
n.整齐; 修剪; 健康状态; 装束
vi.削减


AD大虾说得没错,顶一下!

许多编程语言里的trim的概念,一般是指“去掉多余的字符”比如“去掉多余的空格”。

所谓“多余的”,就是那些被去掉后也不会破坏原有语义的部分。

显然,不应该让trim实现去掉文本中间的空格,或者说,去表文本中间的空格的功能,就不适合叫做trim。

呵呵 ……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP