免费注册 查看新帖 |

Chinaunix

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

[函数] 关于C去空格的函数,高手请指教! [复制链接]

论坛徽章:
0
1 [报告]
发表于 2003-07-22 22:30 |显示全部楼层

关于C去空格的函数,高手请指教!

将字符串看做是由' '分段的字符串段,先得到每段的头和长度,
在 memcpy到一个新的字符串上,删除旧字符串,返回新字符串。

论坛徽章:
0
2 [报告]
发表于 2003-07-22 22:48 |显示全部楼层

关于C去空格的函数,高手请指教!

#include <string.h>;
// ConCate plain strings
char *ccstr( char *str)
{
    char *tok = " ", p;

    p = strtok( str, tok );
    while( p != NULL )
    {
          if( p != str )
               strcat( str, p );
          p = strtok( NULL, tok );
    }
    return( str );
}


这样好,不费内存

论坛徽章:
0
3 [报告]
发表于 2003-07-23 09:42 |显示全部楼层

关于C去空格的函数,高手请指教!

上面的方法还是费内存的。
可以开辟一个对于同一个功能的静态缓冲区,用加锁的方式来专门做这样的工作,如果当用到的时候,如果有锁,或者是缓冲区不够的话,那自己在函数中自己分配,如果没有缩,且缓冲区够的话,那就用这个缓冲区来,加上锁,用完了,在解锁。
其实去' '不需要什么好的算法,多用内存,速度快,且算法简单,现在有了静态缓冲区,我想怎么用,就很简单了。(用内存是一个高效的方法,在这个问题上,如果用内存比你设计什么好的算法都管用)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP